小编Ayu*_*arg的帖子

如何在elasticsearch中搜索单词的单数和复数形式?

我正在使用 Q 对象进行弹性查询,并且我已索引文档,其中一个文档包含“jbl扬声器很棒”,但我的查询有“扬声器”而不是扬声器,如何使用查询字符串找到该文档。

我尝试过 match_phrase 但无法找到此文档,当我尝试 query_string 时,它抛出一个错误,指出“query_string 不支持某些键”。我也尝试过通配符,但这也不适用于类似的查询

{
  "query": {
    "bool": {
      "must": [
        {
          "match_phrase": {
            "prod_group": "06"
          }
        },
        {
          "match_phrase": {
            "prod_group": "apparel"
          }
        },
        {
          "wildcard": {
            "prod_cat_for_search": "+speaker*"
          }
        },
        {
          "range": {
            "date": {
              "gte": "2018-04-07"
            }
          }
        }
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)
Q('match_phrase', prod_cat_for_search='speaker')
Run Code Online (Sandbox Code Playgroud)

我期望输出文档包含扬声器,但实际输出不包含扬声器的文档

django python-3.x elasticsearch

5
推荐指数
1
解决办法
3421
查看次数

标签 统计

django ×1

elasticsearch ×1

python-3.x ×1