我们有一个用例,要求我们提取与任何字段值完全匹配的所有记录。例如,检查以下任何字段是否具有“auto-scaling-groups”的精确字符串值
Record 1: { "name": "auto-scaling-groups", "created_by": "John" }
Record 2: { "name": "postgres-db-node", "managed_by": "auto-scaling-groups" }
Record 3: { "name": "postgres-db-cluster", "managed_by": "auto-scaling-groups-manager"}
Record 4: { "name": "postgres-db-monitoring", "managed_by": "auto-scaling-scheduler"}
查询结果应只返回记录1和2,而不返回记录3和4。
请注意,我们有ES集群v1.7,没有奢侈使用最新的功能,如keyword
分析仪如下。
{
"query": {
"query_string": {
"query": "auto-scaling-groups",
"analyzer": "keyword"
}
}
}
1条答案
按热度按时间aiqt4smr1#
如果你没有一个关键字字段为您的文本字段,你需要搜索,即
name
,created_by
和managed_by
比这将是很难实现您的用例,你可以做的是创建一个keyword
数据类型为所有这些字段,然后你可以使用term
查询搜索的关键字字段,以获得精确的匹配。