{
"title" : "That Uselessly Amazing Title",
"author" : "Someone you have never heard of",
"url" : "http://www.theuselessweb.com",
"summary" : "a collection of useless websites",
"tag" : ["useless","maybe useful"]
}
Скажем, у меня есть схема, которая выглядит так, как показано выше. Пользователь просит приложение показать что-то «бесполезное».ElasticSearch просмотреть несколько полей в виде нечеткого запроса
Как написать запрос, который будет просматривать заголовок, резюме и теги для слова «бесполезно» как нечеткий поиск?
ОК, получил его на работу. Когда я пытаюсь «использовать» вместо «бесполезного», я не получаю никаких результатов. Почему это? Есть ли способ разрешить это? частичные строки? –
Это зависит от анализаторов, фильтров токенов и т. Д., Которые вы используете для индексации объектов, а затем для поиска. Предположим, вы используете стандартный анализатор (английский), ваш заголовок будет сначала обозначен в токенах «Тот», «Бесполезно», «Удивительный» и «Титульный», тогда каждый токен будет анализироваться независимо. Для токена «Бесполезно» я считаю, что стандартный английский анализатор хранит «бесполезный» (строчный). Поэтому, когда вы ищете «использовать», вы не найдете никаких результатов. Попробуйте сыграть с другими анализаторами, возможно, вы хотите добавить свои собственные фильтры токенов. Я лично предпочитаю использовать те, которые ElasticSearch.GL! –
Думаю, вам понравится токенизатор Edge NGram, смешанный со стандартным токенизатором. Помните, что для фильтра токенов имеет значение –