Tôi có một truy vấn multi_match
loại cross_fields
, mà tôi muốn cải thiện với kết hợp tiền tố.Tìm kiếm Đàn hồi multi_match cross_fields prefix
{
"index": "companies",
"size": 25,
"from": 0,
"body": {
"_source": {
"include": [
"name",
"address"
]
},
"query": {
"filtered": {
"query": {
"multi_match": {
"type": "cross_fields",
"query": "Google",
"operator": "and",
"fields": [
"name",
"address"
]
}
}
}
}
}
}
Kết hợp hoàn toàn với các truy vấn như google mountain view
. Mảng filtered
có ở đó vì tôi cần phải thêm các bộ lọc địa lý.
{
"id": 1,
"name": "Google",
"address": "Mountain View"
}
Bây giờ tôi muốn cho phép khớp tiền tố mà không vi phạm cross_fields
.
Queries như thế này phải phù hợp:
goog
google mount
google mountain vi
mountain view goo
Nếu tôi thay đổi multi_match.type
-phrase_prefix
, nó phù hợp với toàn bộ truy vấn đối một trường duy nhất, do đó, nó chỉ đối sánh với mountain vi
nhưng không khớp với google mountain vi
Làm cách nào để giải quyết vấn đề này?
Rất hữu ích cho những gì tôi muốn, cảm ơn. – Abubakkar