带有标点符号的ElasticSearch查询

时间:2018-06-08 08:50:14

标签: elasticsearch search

我正在使用Custom Analyzer进行映射。输入搜索词是,

消息:总的来说,这是该产品的好年景。最终版本于今年年底发布。

搜索查询字词:'message':'整体'或'产品'

我没有得到任何结果。如果我搜索没有标点符号并且如果我搜索“产品”,如何获得结果。那应该只返回完全匹配的术语。

1 个答案:

答案 0 :(得分:0)

您需要使用Match Query

根据您的要求,查询应如下所示:

 {
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "message": "overall"
          }
        },
        {
            "match": {
                "message": "\"product\""
            }
        }
      ]
    }
  }
}

注意:此查询将返回与overall"product"匹配的文档,具体取决于您对message的分析情况,这可能是精确搜索。

另一方面,如果您需要与keyword类型匹配的完全匹配并按term query搜索,则必须检查文档映射,以确保您在每个字段中使用的分析器。