разница между запросом поля и термина или запросом соответствия

Я только начал работать над эластичным поиском пружинных данных. Я просто использую простой API-интерфейс данных Spring, например: - findByName (String), но когда я просматриваю spric doc, я могу видеть, он создаст внутренний запрос, подобный этому: -

  @Query("{"bool" : {"must" : {"field" : {"name" : "?0"}}}}")

Теперь мой вопрос заключается в том, что этот запрос поля похож на запрос соответствия или запрос термина в эластичном поиске?

Заранее спасибо !!


person Vijay    schedule 04.04.2017    source источник


Ответы (1)


Похоже, последние версии ElasticSearch не поддерживают запросы field. Альтернативой устаревшему запросу field является запрос query_string, который принимает запрос, подобный Lucene, в качестве входных данных.

Запрос match позволяет использовать обычный поиск (поиск по ключевым словам), и я думаю, что это то, что вы ищете.

Что касается запроса term, он не будет анализировать вашу входную строку и не будет разбивать ее на термины. Он просто будет использовать его в качестве поискового запроса. Это быстрее, чем запрос match, но он не будет работать с необработанным вводом.

person Random    schedule 04.04.2017