Один из подходов, который, похоже, позволяет получить структуру оценки, которую я ищу, состоит в том, чтобы объединить «match_phrase» и «match» для каждого поискового запроса в один запрос, например:
[
{match_phrase: { 'name': { query: 'Candied Apples' } } },
{match_phrase: { 'name': { query: 'Canned Pears' } } },
{match: { 'name': { query: 'Candied Apples' } } },
{match: { 'name': { query: 'Canned Pears' } } }
]
Это означает, чтовозвращаются все полные и частичные совпадения, но все успешные совпадения фраз будут иметь более высокий балл, чем результаты предложений 'match'.
Обратите внимание, что для того, чтобы это работало, должны быть указаны предложения 'match_phrase'первый.