0
我想使用弹性搜索,我卡住试图查询嵌套的对象。弹性搜索嵌套对象映射和查询搜索
基本上我的目的是以下格式我用于嵌套字段
{
"name" : "Some Name",
"field2": [
{
"prop1": "val1",
"prop2": "val2"
},
{
"prop1": "val3",
"prop2":: "val4"
}
]
}
映射的是以下内容。
PUT /someval/posts/_mapping
{
"posts": {
"properties": {
"field2": {
"type": "nested"
}
}
}
}
现在说我插入了/域元素/职位/ 1 /场/职位/ 2等我有field2.prop1的k值,我想查询它获取排序的职位基于最匹配field2.prop1之间的K值我有。什么是适当的查询。 另外我尝试了一个简单的过滤器,但即使这似乎没有正确工作。
GET /someval/posts/_search
{
"query": {
"filtered": {
"query": {
"match_all": {}
}
},
"filter" : {
"nested" : {
"path" : "field2",
"filter" : {
"bool" : {
"must" : [
{
"term" : {"field2.prop1" : "val1"}
}
]
}
},
"_cache" : true
}
}
}
}
以上查询应至少匹配第一篇文章。但它不会返回匹配。任何人都可以帮助澄清这里有什么错吗?
谢谢!有没有可用于查询的调试器?还有什么方法去查询对象数组中的大多数匹配?与我在帖子 – sriram
中发布的帖子类似,我使用感,我不知道任何。对于下一部分,也许你会作为单独的问题提出,所以其他用户很容易找到它。 – progrrammer
好的。这也起作用:) – sriram