问题描述
我可以按照Elasticsearch boolean query进行完全匹配查询:
GET my_index/_search
{
"query": {
"bool": {
"filter": [
{
"term": {
"some_field.keyword": "some value"
}
}
]
}
}
}
some_field
被索引为默认字符串类型:
"some_field" : {
"properties" : {
"value" : {
"type" : "text","fields" : {
"keyword" : {
"type" : "keyword","ignore_above" : 256
}
}
}
}
}
由于某种原因,我只能使用Elasticsearch query_string。这意味着,我需要使用Lucene语法的等效查询。
解决方法
您可以在query_string query
中以同样的方式更改字段的keyword
。
{
"query": {
"query_string": {
"query": "some value","default_field": "some_field.value.keyword"
}
}
}