2014-09-30 3 views
0

Прежде всего, я следую инструкциям по поиску упругой информации, расположенной по адресу here. Я пытаюсь выполнить поиск с несколькими строками запроса.Упругий поиск, сопоставление нескольких терминов на одной строке

У меня есть несколько полей, но меня интересует «путь».

Я знаю, что, по крайней мере, этот путь

path: "ops/TopRelation/...." 

в моем индексе. Я это подтвердил.

Как же тогда этот запрос ничего не возвращает.

{ 
    "query":{ 
     "match":{ 
      "path":{ 
       "query": "ops toprelation", 
       "operator": "and" 
      } 
     } 
    } 
} 

Но этот запрос возвращает ожидаемые результаты.

{ 
    "query": { 
     "bool": { 
      "must": [ 
       { "match": { "path": "ops" }}, 
       { "match": { "path": "toprelation" }} 
      ] 
     } 
    } 
} 

Я думал, что главный запрос - это в основном тот, который использует внутренний запрос внутри? Действительно, пример в учебнике, как представляется, указывает this.

Because the match query has to look for two terms — ["brown","dog"] — internally it 
has to execute two term queries and combine their individual results into the overall 
result. To do this, it wraps the two term queries in a bool query, which we will 
examine in detail in Combining queries below. 

ответ

0

Если вы используете «или» вместо «и» в «операторе», он возвращает какие-либо результаты?

Вы бы разделили отображение этого индекса.

GET <IndeName>/<Type>/_mapping 
Смежные вопросы