ElasticSearch启用Snowball Analyzer和Fields上的同义词

时间:2014-11-05 23:08:46

标签: elasticsearch

我有一个Elasticsearch索引,我的默认分析器是雪球分析器,因此我可以获得词干,现在我需要能够在某些字段上使用同义词以及雪球分析器的好处来进行词干分析。 / p>

这是可能的,如果是这样的话怎么样?

作为一项测试,我试图在雪球analiyzer上设置一个同义词过滤器,希望它能在所有字段上启用同义词,这样我就可以对它进行测试,但这样做并没有真正起作用......

我使用WordNet同义词文件为索引上的同义词创建了另一个分析器。

如果我不清楚请告诉我,我会尝试更新。这是我当前的索引设置。

"settings": {
            "index": {
                "analysis": {
                    "analyzer": {
                        "synonym": {
                            "filter": [
                                "synonym"
                            ],
                            "tokenizer": "whitespace"
                        },
                        "default": {
                            "language": "English",
                            "type": "snowball"
                        }
                    },
                    "filter": {
                        "synonym": {
                            "type": "synonym",
                            "synonyms_path": "/elasticsearch/wn_s.pl",
                            "format": "wordnet"
                        }
                    }
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

您可能必须为此指定一个自定义分析器,它使用与雪球分析器(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-snowball-analyzer.html)相同的标记器和过滤器。同时添加同义词过滤器。

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

我没有尝试过,我不确定你是否必须指定雪球过滤器。如果它不起作用,请尝试指定滚雪球过滤器,如下所示:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-snowball-tokenfilter.html