2016-02-07 4 views
0
FilterInputs mustfilters; 
mustfilters &= ms.Term("cityId", filterInputs.cities); 
mustfilters &= ms.Terms("cityIds", filterInputs.cities); 

В чем разница между двумя строками?NEST Elastic Search: Разница между термином и терминами FilterInputs?

Насколько я испытал, второй позволит нескольким городам в документе с kye cityIds. Любые, если возвращаются какие-либо совпадения с записью filterInputs.cities =>.

Пока первый разрешит только один раз city.If он соответствует => record return else not.

Пожалуйста, подтвердите.

ответ

1

Term позволяет совместить только один термин. Согласно документации:

Термин запрос находит документы, содержащие точный срок, указанный в инвертированном индексе.

См here

в то время как Terms позволяет определить несколько терминов и соответствовать любой из them.It работает как in в Sql. Согласно документации:

Условия запроса Фильтры документов, которые имеют поля, соответствующие любым предоставленным условиям (не анализируются).

См here

Смежные вопросы