【发布时间】:2015-08-12 22:56:57
【问题描述】:
弹性搜索新手,我需要使用过滤器进行搜索的帮助。例如,我想在meta_values.meta_value 中搜索“史蒂文·斯皮尔伯格”,但只在meta_value.meta_name = 'director' 的位置,而不是在meta_value.meta_name = 'producer' 的位置等。下面的查询将匹配“史蒂文·斯皮尔伯格”,但在meta_value.meta_name = 'producer' 时也匹配.我基本上希望这个过滤器只搜索导演。
{
"query": {
"filtered": {
"query": {
"match_phrase": {
"meta_values.meta_value": "steven spielberg"
}
},
"filter": {
"and": [{
"term": {
"meta_values.meta_name": "director"
}
}]
}
}
}
}
【问题讨论】:
-
您能否展示一两个与此问题相关的示例文档?此外,如果您没有使用动态/默认映射,那么很高兴看到您当前的映射是什么。
标签: elasticsearch