我已经使用elasticsearch创建了一个构面,但是我想仅针对特定单词对其进行过滤。
{
...
"facets": {
"my_facets": {
"terms": {
"field": "description",
"size": 1000
}
}
}
}
结果包含描述中的所有单词。
{
"my_facet": {
"_type": "terms",
"missing": 0,
"total": 180,
"other": 0,
"terms": [
{
"term": "și",
"count": 1
},
{
"term": "światłowska",
"count": 1
},
{
"term": "łódź",
"count": 1
}
]
}
}
我希望我的方面只包含针对特定单词的分析,而不是针对描述中找到的整个单词的分析。
我已经尝试在我的方面中使用查询匹配,但是它可以进行整体分析
喜欢如下
{
"query_Facet_test": {
"query": {
"match": {
"description": "word1 word2"
}
}
}
}
和我得到的结果:
{
"query_Facet_test": {
"_type": "query",
"count": 1
}
}
最佳答案
您可以使用像这样的 bool(boolean) 查询来获取查询方面
{
"query": {
"bool": {
"must": [
{
"match": {
"description": "word1"
}
},
{
"match": {
"description": "word2"
}
}
]
}
},
"facets": {
"my_facets": {
"terms": {
"field": "description",
"size": 1000
}
}
}
}
关于elasticsearch - Elasticsearch构面过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25500851/