#elasticsearch
#elasticsearch
Вопрос:
В чем различия и сходства между fieldquery и termquery
FilterBuilders.queryFilter(QueryBuilders.fieldQuery("truckName", "joshi"));
FilterBuilders.queryFilter(QueryBuilders.termQuery("truckName", "joshi"));
Оба возвращают одинаковые результаты.
Пожалуйста, приведите примеры
Комментарии:
1. Какую версию API вы используете? Насколько я могу судить, QueryBuilders.fieldQuery отсутствует в 1.0 или 1.1.
2. текущая версия: 1.1.1 предыдущая версия была 0.90 — эта версия вернула те же результаты.
Ответ №1:
Запрос term ищет точное соответствие поля terms без какого-либо анализа параметра.
Похоже, что fieldQuery (из http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/query-dsl-field-query.html ) — это простая форма query_string для определенного поля, поэтому он будет выполнять анализ.
Они будут действовать одинаково для одного слова «truckName», но TermQuery будет быстрее.
Комментарии:
1. truckName — это имя поля, joshi — строка для поиска.