我有一个Elasticsearch索引,我的默认分析器是雪球分析器,因此我可以进行词干分析,现在我需要能够在某些字段上具有同义词,以及雪球分析器进行词干分析的好处。
这有可能吗?
作为测试,我尝试在雪球分析仪上设置同义词过滤器,希望它可以在所有字段上启用同义词,以便我可以对其进行测试,但实际上并没有用...
我使用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"
}
}
}
}
}
}
最佳答案
您可能需要为此指定一个自定义分析器,该分析器使用与雪球分析器(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
关于elasticsearch - ElasticSearch在字段上启用Snowball Analyzer和同义词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768903/