elasticsearch - Elasticsearch构面过滤器

标签 elasticsearch filter yii2 facet

我已经使用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/

相关文章:

python - 是否有处理 "...more"的 Django 模板过滤器,当您单击它时,它会显示更多文本?

ios - 在 OpenGLES 中组合多个着色器

javascript - Yii2 中表单验证后的回调 Javascript 函数

php - 服务器端文件验证不适用于 Yii.2.0

elasticsearch - 多级嵌套查询 - RequestError 异常 400 - 创建查询失败

java - 如何在 Hibernate Search 5.10 中部分重建索引?

elasticsearch - Elasticsearch查询字符串数组

javascript - 带有数组中项目列表的 Angular 过滤器

php - 如何在 Yii2 中使用 kartik-Select2 小部件项目将所选项目保存到数据库?

elasticsearch - ElasticSearch Multi Match字段增强似乎不起作用?