ElasticSearch 查询 DSL 组合术语和通配符
ElasticSearch Query DSL Combine Terms and Wildcard
我必须区分单独运行良好的查询:
{"wildcard":{"city":"*Beach*"}}
{"terms":{"state":["Florida","Georgia"]}}
但事实证明,试图将它们组合成一个查询是一项相当大的挑战。
我原以为只要简单地做{{"wildcard":{"city":"*Beach*"}},{"terms":{"state":["Florida","Georgia"]}}}
就可以了,但事实并非如此。然后我尝试使用数组和 bool 查询等进行几次不同的迭代。有人能指出我正确的方向吗?
Bool query应该是正确的方法。
以下是您的用例示例:
{
"query": {
"bool": {
"must": [
{
"wildcard": { "city": "*Beach*" }
},
{
"terms": {
"state": [ "Florida", "Georgia" ]
}
}
]
}
}
}
如果没有结果,则表示没有符合这两个条件的条目。
我必须区分单独运行良好的查询:
{"wildcard":{"city":"*Beach*"}}
{"terms":{"state":["Florida","Georgia"]}}
但事实证明,试图将它们组合成一个查询是一项相当大的挑战。
我原以为只要简单地做{{"wildcard":{"city":"*Beach*"}},{"terms":{"state":["Florida","Georgia"]}}}
就可以了,但事实并非如此。然后我尝试使用数组和 bool 查询等进行几次不同的迭代。有人能指出我正确的方向吗?
Bool query应该是正确的方法。
以下是您的用例示例:
{
"query": {
"bool": {
"must": [
{
"wildcard": { "city": "*Beach*" }
},
{
"terms": {
"state": [ "Florida", "Georgia" ]
}
}
]
}
}
}
如果没有结果,则表示没有符合这两个条件的条目。