我有一个Elasticsearch索引,我的默认分析器是雪球分析器,所以我可以得到词干,现在我需要在一些字段上有同义词的能力,以及雪球分析器的优点来完成词干。
这是可能的吗?如果可能的话,如何做到?
作为一个测试,我试图在雪球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"
}
}
}
}
}
}发布于 2014-11-06 11:54:57
您可能必须为此指定一个自定义分析器,它使用与雪球分析器(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
https://stackoverflow.com/questions/26768903
复制相似问题