首页 文章

弹性:尝试初始化同义词标记过滤器时出错

提问于
浏览
0

同义词令牌过滤器给出错误 .

Elasticsearch version 版本:6.2.2,Build:10b1edd / 2018-02-16T19:01:30.685723Z,JVM:1.8.0_161 Plugins installed :Opennlp

JVM version java version "1.8.0_161" Java(TM)SE运行时环境(版本1.8.0_161-b12)Java HotSpot(TM)64位服务器VM(版本25.161-b12,混合模式)

OS version Linux服务器4.4.0-131-通用#157-Ubuntu SMP Thu 7月12日15:51:36 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux

Description of the problem including expected versus actual behavior

当我尝试重现以下内容时:https://qbox.io/blog/synonym-token-filter-wordnet-applications

但是,如果我将tokenizer更改为“standard”而不是“lowercase”,一切都很好 . 有谁知道该怎么办?

我收到以下错误 .

错误:400 - 无法构建同义词ES堆栈跟踪:

type:illegal_argument_exception reason:无法构建同义词

Steps to reproduce

curl -XPUT 'localhost:9200/test_index' -d '{
 "analysis": {
    "filter": {
      "synonym": {
        "type": "synonym",
        "format": "wordnet",
        "synonyms_path": "analysis/wn_s.pl"
      }
    },
    "analyzer": {
      "wordnet-synonym-analyzer": {
        "tokenizer": "lowercase",
        "filter": [
          "synonym"
        ]
      }
    }
  }
}'

1 回答

  • 1

    试试这个:

    使用标准tokenizer并添加小写作为过滤器 .

    "analyzer": {
      "synonymAnalyzer": {
        "type": "custom",
        "tokenizer": "standard",
        "filter": [
          "lowercase",
          "synonym"
        ]
      }
    }
    

相关问题