Как повысить соответствие фразы, но только в определенной области?
Я хочу повысить запрос, если он соответствует фразе, но я хочу, чтобы он выполнял поиск только в определенном поле. Пока у меня есть следующий запрос
{
"query": {
"bool": {
"should": [
{
"match_phrase": {
"_all": {
"query": "string",
"boost": 5
}
}
}
]
}
}
}
но это возвращает несколько результатов, так как я не указываю поле, в котором он должен искать. Я попробовал этот другой подход:
{
"query": {
"bool": {
"should": [
{
"match_phrase": {
"_all": {
"query": "string",
"fields": [
"filed_name"
],
"boost": 5
}
}
}
]
}
}
}
но я получаю ошибку
запрос [match] не поддерживает [fields]]
1 ответ
Решение
Вы можете использовать множественный запрос и использовать phrase type
сделать match_phrase
в конкретных областях.
{
"query": {
"multi_match": {
"query": "some string",
"fields": ["title","summary"],
"type": "phrase"
}
}
}