Я хотел бы искать условия (GoogleEarth или googleearch) с помощью функции elasticSearch.
Теперь, если я попытался выполнить поиск по запросу «Google», я не могу получить никаких результатов без NGram или EdgeNGram.
Я не хочу использовать nGram, потому что они получают много результатов. Итак, теперь я просто использую Bool Query + multimatchquery. В этом случае я не могу получить результаты с помощью частичных слов. Надеюсь, я смогу найти «Google Earth» или «Google» или «Землю», чтобы получить GoogleEarth. Как я могу это получить?
Выбор поискового запроса Elasticsearch
Теперь я просто использую запрос «GoogleEarth», чтобы получить правильный результат. Я хочу искать условия, если они включены.
.setQuery(QueryBuilders.boolQuery().should(QueryBuilders.multiMatchQuery(query,
'title','name','tag')))
обновление
Я пытался искать условия на основе точного соответствия. Если я ищу «google», я хочу получить «google ***» «googleearth» и так далее. Я знаю, если я использую edgeNGram или nGram, я могу получить меньше связанных результатов. Поэтому, если это возможно, я не хочу использовать nGram или edgeNGram. У вас есть идеи?
Спасибо за ваш ответ. Я попытался найти условия, основанные на точном совпадении. Если я ищу «google», я могу получить «google ***» «googleearth» и так далее. Я знаю, если я использую edgeNGram, я могу это сделать. Но я также должен получить меньше связанных терминов. Есть ли у вас какие-либо идеи? – Soo
Я не понимаю ваш вопрос. Я предлагаю вам обновить свой вопрос и предоставить множество точных примеров запросов и исходного текста, который вы ожидаете сопоставить. Также расширьте то, что вы подразумеваете под «менее связанными терминами». – nickdos
Я просто имею в виду, что я могу получить намного меньше связанных результатов nGram. Если я запрошу «google», у меня может быть «googa», «goooo». – Soo