2016-08-05 4 views
1

Я создаю chatbot с elasticsearch, и я не могу понять, как заставить его вести себя так, как я хочу.Elasticsearch аналогичные предложения в массивах

У меня есть вопрос объекты этого формата в индексе «/ вопросы/д»:

{ 
    "name": "some question" //just for identification, 
    "questions": [ 
     "Is ice cream good?", 
     "Is ice cream delicious?", 
     "Will i love the taste of ice cream?" 
    ], 
    "response": "yes" 
} 

Я хочу, чтобы соответствовать входной вопрос в отношении массива вопросов, где самый высокий балл является объектом, который имеет лучшие одиночный сопоставив вопрос. Поэтому по существу я хочу, чтобы оценка объекта была оценкой самого высокого вопроса в его массиве.

В настоящее время я использую запрос, похожий на этот:

{ 
    "query": { 
     "match": { 
     "questions": { 
      "query": "where can i buy tickets" 
     } 
     } 
    } 
} 

Но его дает мне очень низкие баллы, если массив является большим, потому что я предполагаю, что это сглаживает массив как один большой строки.

Какой запрос я должен использовать для этого варианта использования?

ответ

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