elasticsearch - 弹性搜索多字段通配符布尔查询
问题描述
当前使用 bool 查询,它搜索两个输入词的组合或字段“名称”上的任一输入词。如何使用通配符搜索多个字段?
POST inventory_dev/_search{"from":0,"query":{"bool":{"must":[{"bool":{"should":[{"term":{"Name":{"value":"dove"}}},{"term":{"Name":{"value":"3.75oz"}}},{"bool":{"must":[{"wildcard":{"Name":{"value":"*dove*"}}},{"wildcard":{"Name":{"value":"*3.75oz*"}}}]}}]}}]}},"size":10,"sort":[{"_score":{"order":"desc"}}]}
解决方案
您可以使用query_string代替通配符查询,以搜索多个字段
{
"from": 0,
"query": {
"bool": {
"must": [
{
"bool": {
"should": [
{
"term": {
"Name": {
"value": "dove"
}
}
},
{
"term": {
"Name": {
"value": "3.75oz"
}
}
},
{
"bool": {
"must": [
{
"query_string": {
"query": "*dove*",
"fields": [
"field1",
"Name"
]
}
},
{
"query_string": {
"query": "*3.75oz*",
"fields": [
"field1",
"Name"
]
}
}
]
}
}
]
}
}
]
}
},
"size": 10,
"sort": [
{
"_score": {
"order": "desc"
}
}
]
}
推荐阅读
- javascript - Knex,插入随机列
- .net - 在 IIS 8.5 中托管相同域名下的两个网站
- dependency-injection - 在视图模型中调用异步方法时,Simple Injector 在 Caliburn.Micro Bootstrapper.Buildup 中引发错误
- pytorch - 增强如何增加图像数量
- netlogo - NetLogo 重定向链接
- azure-devops - 如何将 ansible stdout/stderr 重定向到 Azure 管道日志记录命令
- asp.net - 如何在 ASP.NET Web 应用程序中禁用单个 aspx 页面?
- google-cloud-platform - 无法 ssh 到从 OVa 创建的谷歌云实例
- python - py.stackplot 在同一情节上的两个不同图例
- neo4j - NEO4j中匹配3个条件的AND子句