假设我有这本字典:
{
"name": "Jorje",
"surname": "Costali",
"extra_information": {
"real_name": "mamino",
"fake_name": "bambino",
"age": "43",
"gang": "gang34"
}
}
如何查询以获取所有具有
"extra_information.gang":"gang34"
的条目?我想知道如何在准确的字词或匹配项之后进行过滤。我努力了:
{
"size": 20,
"query": {
"bool": {
"filter": [
{
"terms": {
"extra_information.gang": [
"gang34"
]
}
}
]
}
}
}
但它不返回任何条目。
我努力了:
GET _search
{
"query": {
"bool": {
"must": [
{
"match": {
"extra_information.gang" : "gang34"
}
}
]
}
}
}
并且可以使用,但我想将其设置为过滤器,而不是简单的匹配查询。
最佳答案
您是否尝试使用.keyword
?喜欢:
"terms": {
"extra_information.gang.keyword": [
"gang34"
]
}
我尝试了您在嵌套字典文档中写的内容,它对我来说就像这样。
关于elasticsearch - 如何过滤字典中的特定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59391180/