【发布时间】:2015-03-07 11:19:57
【问题描述】:
我正在尝试使用额外的过滤器项创建一个搜索页面,但我无法让我的查询按我想要的方式工作。
这是查询示例:
{
"size": 25,
"from": 0,
"sort": {
"_score": {
"order": "asc"
}
},
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"year": "2015"
}
}
]
}
},
"query": {
"match": {
"title": "Sense"
}
}
}
}
}
我只想要 2015 年的结果。搜索标题“Sense”一无所获,即使有一行标题为“Sense8”。如果我搜索 Sense8,它会返回正确的数据,但不是“Sense”。
我做错了什么?
谢谢
【问题讨论】:
-
请提及索引的映射,如果可能的话,请提及您希望出现在结果中的 JSON 文档。
-
我正在使用一个名为 BungieSearch 的包装器来生成查询,但我发现 "term" 过滤器和 "terms" 过滤器都需要数组。查看这个 SO 答案:[link(]stackoverflow.com/questions/30363647/…)
标签: json elasticsearch dsl