0
我有一個簡單的查詢如何將query_string與elasticsearch中的過濾器一起使用?
GET data/_search
{
"query": {
"bool": {
"must": [
{
"prefix": {
"last_name": "test"
}
},
{
"bool": {
"should": {
"query_string": {
"query": "henderson OR Boulder City OR Sloan",
"fields": [
"city_*"
]
}
}
}
}
]
}
}
}
我想給query_string
變爲過濾器。我不知道如何
{
"bool": {
"should": {
"query_string": {
"query": "henderson OR Boulder City OR Sloan",
"fields": [
"city_*"
]
}
}
}
}
轉換成類似
"filter": {
"query_string": {
"query": "henderson OR Boulder City OR Sloan",
"fields": [
"city_*"
]
}
}
,並確保它過濾所有這個城市henderson OR Boulder City OR Sloan
並以此各個領域city_*.keyword
任何想法?
它確實給我同樣的結果..我的想法使用'filter'是使查詢速度更快,但它似乎需要相同的時間 – Patrioticcow
過濾器,並應在您提供的示例中給出相同的結果(並假設費用大致相同)。唯一的區別是應該得分並且過濾器不會。 – Miek
@Patrioticcow所以這是一個稍微不同的問題,而不僅僅是更新現有的查詢來充當過濾器,但是您可以採取一些方法。最好是完全替換查詢字符串操作,並將單個詞搜索爲數組。 – Miek