我正在用以下查询查询我的索引:
GET /dbpedia201510/entity/_search { "from": 0, "size": 10000, "query": { "bool": { "must": { "query_string":{ "fields": ["name","alias","pseudonyme"], "query": "Elias~ Franck~", "default_operator": "OR", "fuzziness": "auto" } }, "filter": { "bool": { "must": [ { "terms": { "job.keyword":["Architect","Politician","Tailor"] } } ] } } } } }
job
字段是字符串数组,查询的工作方式与预期相同。然而,有些文档没有job
字段,我也希望获得这些文档。
我怎么能那么做?
这里需要使用should子句
,当job
字段存在并匹配术语查询或job
字段不存在时,该子句将匹配。
您的最终查询应该如下所示:
GET /dbpedia201510/entity/_search
{
"from": 0,
"size": 10000,
"query": {
"bool": {
"must": {
"query_string": {
"fields": ["name","alias","pseudonyme"],
"query": "Elias~ Franck~",
"default_operator": "OR",
"fuzziness": "auto"
}
},
"filter": {
"bool": {
"should": [
{
"terms": {
"job.keyword": ["Architect","Politician","Tailor"]
}
},
{
"bool": {
"must_not": {
"exists": {
"field": "job"
}
}
}
}
]
}
}
}
}
}
每个人。在mongo组查询中,结果仅显示参数中的键。如何像mysql查询组一样保留每个组中的第一个文档。例如: 结果: 如何获取以下内容:
使用的解决方案类似于microsoft文档中的内容:https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.documents.linq.documentQueryable.asdocumentQuery?view=azure-dotnet 我们目前正在将我们的数据解决方案转移到cosmosDB,这就是我们如何注意到这个问题的。你知道
我正在尝试查找一个查询唯一的名称列表,并排除两个查询结果之间的共同名称。例如,我想要学生A、B和C所选课程的名称,并从该列表中排除学生D和E所选的课程。在这个问题的答案的帮助下(Neo4j Cypher:从结果中排除某些节点),我尝试了这个密码代码,它是有效的,但我得到的结果是节点。我希望它是一个名称列表,而不是节点。 非常感谢。
我有一个产品集合,每个产品都会有: 价格 属性(例如:大小:xl,s,xxl;颜色:黄,红,蓝;....) 制造商 类别(一个产品可以有多个类别) 此集合在ElasticSearch中索引。现在,当我查询类别A中所有产品的列表时,我还希望获得: 所有产品的价格范围(最小-最大) 所有可能选项和值的列表(大小、颜色和相应的值xl、s、xxl、Yellog、red、blue) 制造商(耐克、阿迪达斯、
我有一个自定义的职位类型,这是一个供应商的个人资料页排序。在每一页的末尾,我都有一个产品小部件,它应该显示这个供应商的产品。 所有产品都被分配到供应商特定的类别。因此供应商A的个人资料页面应显示分配给product_catA的所有产品。 相应的产品类别由每个配置文件页面上的acf字段指定。因此,我的自定义筛选查询需要获取指定的产品目录,然后按该类别筛选所有产品。我正在努力研究如何将帖子中的自定义字
我已经把这个贴在ES组上了,但是我没有得到回应,所以我把它贴在了so上。链接https://discuse . elastic . co/t/missing-field-value-for-nested-field-function-score-query-V7-10-2/291365 我已经尝试了很长时间,但嵌套字段值在计算分数时总是表示缺少字段值。 映射: 为了简单起见,我只保留了一个记录。记