Ale*_*sov 7 faceted-search elasticsearch
我想过滤掉字段'A'等于'a'的文档,我想同时面对字段'A',当然不包括前一个过滤器.我知道您可以将过滤器放在查询"外部",以便在没有应用过滤器的情况下获取构面,例如:
ElasticSearch
{
"query : { "match_all" : { } },
"filter" : { "term : { "A" : "a" } },
"facets" : {
"A" : { "terms" : { "field" : "A" } } //this should exclude the filter A:a
}
}
Run Code Online (Sandbox Code Playgroud)
SOLR
&q=:*:*
&fq={!tag=Aa}A:a
&facet=true&facet.field={!ex=Aa}A
Run Code Online (Sandbox Code Playgroud)
这是非常好的,但如果我有多个过滤器和方面,每个过滤器应该相互排斥,会发生什么?例:
filter=A:a
filter=B:b
filter=C:c
facet={exclude filter A:a}A
facet={exclude filter B:b}B
facet={exclude filter C:c}C
Run Code Online (Sandbox Code Playgroud)
也就是说,对于方面,AI希望保留除A:a之外的所有滤波器,对于小平面B除了B:b之外的其他所有滤波器,依此类推.最明显的方法是进行n个查询(每个n个方面各一个),但我想远离那个.
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |