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