ElasticSearch:精确匹配多个字段
ElasticSearch: Exact match for multiple fields
如何生成这样的查询?
select * from topic where field1 = "abc" and field2 = "xyz"
我尝试了以下方法,但无法获得正确的语法:
curl -X POST "localhost:9200/topic/_search" -H 'Content-Type: application/json' -d'
{
"query": {
"terms" : {
"field1": "abc",
"field2": "xyz"
}
}
}
'
怎么样...
{
"query": {
"bool": {
"must": [
{
"term": {
"field1": "abc"
}
},
{
"term": {
"field2": "xyz"
}
}
]
}
}
}
Terms Query 不符合您的要求。相反,它会在同一个键中搜索不同的值。
如何生成这样的查询?
select * from topic where field1 = "abc" and field2 = "xyz"
我尝试了以下方法,但无法获得正确的语法:
curl -X POST "localhost:9200/topic/_search" -H 'Content-Type: application/json' -d'
{
"query": {
"terms" : {
"field1": "abc",
"field2": "xyz"
}
}
}
'
怎么样...
{
"query": {
"bool": {
"must": [
{
"term": {
"field1": "abc"
}
},
{
"term": {
"field2": "xyz"
}
}
]
}
}
}
Terms Query 不符合您的要求。相反,它会在同一个键中搜索不同的值。