ElasticSearch词干以符号/特殊字符结尾

xqkwcwgp  于 2022-12-22  发布在  ElasticSearch
关注(0)|答案(1)|浏览(138)

我使用whitespace标记器,其中searchkick_stemmer
“公司”-〉“公司”
“公司+”-〉“公司+”
我如何使“公司+”成为“公司+”或[“公司”,"+"]
我尝试过edge-gram,效果不错,但是它生成了太多的标记。我正在考虑是否有其他的方法,比如条件脚本或者其他。

sh7euo9m

sh7euo9m1#

我做了这个例子,但建议阅读pattern token filter

POST _analyze
{
  "tokenizer": "whitespace",
  "filter": [
    "stemmer"
  ],
  "char_filter": {
    "type": "pattern_replace",
    "pattern": "[+]",
    "replacement": " $0"
  },
  "text": [
    "company+"
  ]
}

令牌:

{
  "tokens": [
    {
      "token": "compani",
      "start_offset": 0,
      "end_offset": 7,
      "type": "word",
      "position": 0
    },
    {
      "token": "+",
      "start_offset": 7,
      "end_offset": 8,
      "type": "word",
      "position": 1
    }
  ]
}

相关问题