elasticsearch 弹性搜索面过滤器
我已经使用elasticsearch创建了一个方面,但我只想过滤特定的单词
elasticsearch 弹性搜索面过滤器,
elasticsearch,filter,yii2,facet,
elasticsearch,Filter,Yii2,Facet,我已经使用elasticsearch创建了一个方面,但我只想过滤特定的单词 { ... "facets": { "my_facets": { "terms": { "field": "description", "size": 1000 } } } } 结果包含描述中的所有单词 { "my_facet": { "_type": "terms", "missing": 0, "tota
{
...
"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
}
]
}
}
我希望我的方面只包含对特定单词的分析,而不是对描述中找到的整个单词的分析。我已经尝试在我的facet中使用查询匹配,但它可以进行全面分析 如下
{
"query_Facet_test": {
"query": {
"match": {
"description": "word1 word2"
}
}
}
}
我得到的结果是:
{
"query_Facet_test": {
"_type": "query",
"count": 1
}
}
您可以使用这样的bool查询来获取查询方面
{
"query": {
"bool": {
"must": [
{
"match": {
"description": "word1"
}
},
{
"match": {
"description": "word2"
}
}
]
}
},
"facets": {
"my_facets": {
"terms": {
"field": "description",
"size": 1000
}
}
}
}
请记住,将来会被替换为,所以最好从这些开始。我知道,但我使用的是yii2 elasticsearch扩展,它只支持facet。我定义了一个带有特定过滤器的搜索查询,但我只希望在facet中分析word1和word2。此查询返回对描述中找到的每个单词的分析