В чем разница между fieldquery и termquery в elasticsearch?

#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 — строка для поиска.