Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 197688|Відповідь: 35

[Джерело] [Справжній бій]. net/c# Пошук elasticsearch через NEST [з вихідним кодом]

[Копіювати посилання]
Опубліковано 20.12.2018 17:32:53 | | | |
ElasticSearch:

ES — це платформа майже в реальному часі пошуку на базі Lucene, яка надає розподілений повнотекстовий пошуковий систем, що використовує RESTful як API для індексації та запиту до індексів і даних через прості операції Get, Post та інші операції.


Основні знання:

Інсталяція та розгортання Centos 7 elasticsearch-6.5.2 навчальний посібник
https://www.itsvse.com/thread-6173-1-1.html
(Джерело: Architect_Programmer)
Встановіть plugin elasticsearch-6.5.2 elasticsearch-head
https://www.itsvse.com/thread-6190-1-1.html
(Джерело: Architect_Programmer)
Навчальний посібник з встановлення elasticsearch-analysis-ik у elasticsearch-6.5.2
https://www.itsvse.com/thread-6191-1-1.html
(Джерело: Architect_Programmer)

Інсталяція:

NEST можна встановити за допомогою nuget за допомогою наступної команди:



Версія .NET потребує щонайменше 4.6, що описано так:Вхід за гіперпосиланням видно.

Привіт, ми припинили підтримку .NET 4.5 для .netstandard1.3, net46 — це нова базова версія.

Ми зробили це, щоб почати впроваджувати netcoreapp2.1 TFM і зосередитися на передачі всієї роботи з продуктивності клієнту.

Чи можете розповісти нам про своє оточення?

.NET 4.5 стартувала у 2012 році, а до 2014 року Microsoft підтримувала лише версію 4.5.2. У якийсь момент нам доведеться прийняти складне рішення відмовитися від 4.5.2, щоб більше зосередитися на поточних і новіших версіях .NET. Так само, як ми здалися кілька років тому. NET 3.5 — це нелегке завдання.


Створіть індекс:

Якщо індекс не існує, використовуйте наступний метод для створення відображення одночасно зі створенням індексу

Надішліть запит на put на інтерфейс, і дані json виглядають так:


Назад:

{
"Підтверджено": правда,
"shards_acknowledged": правда,
"index": "test1"
}

Як показано нижче:



Додати документацію:

Насправді, щоб додати дані, які еквівалентні рядкам бази даних, я зібрав близько 163 новин і успішно додав загалом 45 статей, як показано на рисунку нижче:



Подивіться на додані дані через плагін elasticsearch-head.



Ручно додайте фрагмент даних з html-кодом, розмістіть його так:



Ми вставляємо фрагмент даних з HTML-тегами, щоб перевірити функцію виділення, чи варто уникати оригінального html і js коду, інакше це спричинить xss-атаки тощо.

Шукати:

Пошукайте ключові слова на кшталт «man» і «test» через програмне забезпечення, і з'являться правильні результати пошуку, а також зміст запиту допису, що зручно для нас для налагодження, наступним чином:



Пошукайте тестові ключові слова і з'ясуйте, що html-код, що міститься в записі, успішно втечено!

Вихідний код містить файл новин txt, Winform викликає elasticsearch вихідний код для завантаження:

Туристи, якщо ви хочете побачити прихований контент цього допису, будь ласкаВідповідь





Попередній:Коли я вперше прийшла на пандус, я поділилася з усіма уроком з дизайну моди
Наступний:CodeIgniter — простий і швидкий PHP-фреймворк MVC
 Орендодавець| Опубліковано 24.12.2018 11:03:23 |
Створіть індексний код за допомогою nest:
Модель:

Перегляньте картографію: http://ip:9200/test2/_mapping?pretty



Опубліковано 28.12.2021 10:10:50 |
Elasticsearch.Net.UnexpectedElasticsearchClientException: Неможливо десеріалізувати поточний JSON-об'єкт (наприклад, {"name":"value"}) для введення 'System. Int64', оскільки тип вимагає правильної десеріалізації базових значень JSON (наприклад, рядків, числа, булевих показників, нулів). Щоб усунути цю помилку, ви можете змінити JSON на базове значення JSON (наприклад, рядок, число, булеве, нуль) або змінити тип десеріалізації, щоб зробити його нормальним. .NET-типи (наприклад, не примітивні типи, такі як цілі числа, не типи колекцій) (наприклад, масиви або списки) можуть бути десеріалізовані з JSON-об'єктів. Ви також можете додати JsonObjectAttribute до типу, щоб змусити його десеріалізуватися з JSON-об'єкта. Шлях "hits.total.value", рядок 1, позиція 113.


У мене була така сама проблема, і здається, що бібліотека NEST 6.6.0 не сумісна з Elasticsearch 7.0. Мені довелося оновити NEST до версії 7.0.0 (на той момент — альфа).


Оновлення NEST вирішує цю проблему
Опубліковано 22.07.2019 15:20:56 |
1121695511 Опубліковано 2019-7-18 10:27
Я брав плату як учасник, але завантаження було тією ж помилкою, що й у попередній газеті. Ой. Це також помилка запиту

Щоб виправити це, програма може працювати, але це спричинено іншою версією, ніж elasticsearch download.
Опубліковано 21.12.2018 08:45:31 |
Непогано~ Для мене повнотекстовий пошук — це проблема
Опубліковано 21.12.2018 12:09:32 |
Дякую, що поділилися, давайте подивимось
Опубліковано 12.05.2019 17:22:14 |
Дякую, орендодавцю. Він хороша людина
Опубліковано 12.05.2019 17:35:00 |
Я не можу зійти. Салют. Бали. Трафік. Всілякі бажання
Опубліковано 28.05.2019 17:53:48 |
Дякую, що поділилися і навчились!
Опубліковано 18.06.2019 18:12:40 |
На щастя, ви можете спробувати.
Опубліковано 19.06.2019 17:28:18 |
Хороша людина має безпечне життя
Опубліковано 19.06.2019 18:07:29 |
Дякую, що поділилися, давайте подивимось
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com