Предполагая, что у меня есть индекс с двумя полями: title
и loc
, я хотел бы найти в этих двух полях и получить «лучшее» совпадение. Итак, если у меня есть три предмета:
{"title": "castle", "loc": "something"},
{"title": "something castle something", "loc": "something,pontivy,something"},
{"title": "something else", "loc": "something"}
... Я хотел бы получить второй, который имеет "castle"
в title
и "pontivy"
в loc
. Я попытался упростить пример и основу, это немного сложнее. Итак, я попробовал этот запрос, но он кажется не точным (это чувство, которое не очень легко объяснить):
GET merimee/_search/?
{
"query": {
"multi_match" : {
"query": "castle pontivy",
"fields": [ "title", "loc" ]
}
}
}
Это правильный способ поиска в различных полях и получить тот, который соответствует во всех полях?
Не уверен, что мой вопрос достаточно ясен, я могу отредактировать, если потребуется.
РЕДАКТИРОВАТЬ:
История такова: пользователь вводит "castle pontivy", и я хочу получить "лучший" результат для этого запроса, который является вторым, поскольку он содержит "castle" в "title" и "pontivy" в "loc" , Другими словами, я хочу получить результат, который имеет лучший результат в обоих полях.