我使用 ElasticSearch 版本1.2.3
我已将 WordNet 3.0 集成为ElasticSearch Synonyms Analyzer的同义词数据库。 (完整的WordNet安装:configure,make,make install)
我已将以下代码添加到ElasticSearch索引设置中(索引名称为 local_es )
curl -XPUT 'localhost:9200/local_es/_settings' -d '{
"settings" : {
"analysis" : {
"analyzer" : {
"synonym" : {
"tokenizer" : "lowercase",
"filter" : ["synonym"]
}
},
"filter" : {
"synonym" : {
"type" : "synonym",
"format": "wordnet",
"synonyms_path": "analysis/wn_s.pl"
}
}
}
}
}'
我还使用以下代码更新了映射:
enter code here
curl -XPUT 'localhost:9200/local_es/shadowpage/_mapping' -d '{
"shadowpage" : {
"shadowPageName" : {
"enabled" : true,
"analyzer" : "synonym"
},
"properties" : {
"name" : { "type" : "string", "index" : "analyzed", "analyzer" : "synonym" }
}
}
}'
一切都按预期工作。
如您所见,ElasticSearch从分析的文件路径中获取其数据/ wn_s.pl
wn_s.pl文件是一个包含所有数据库同义词的WordNet prolog文件。
如何向数据库添加新的同义词? 我是否将其直接添加到WordNet数据库?或者在 wn_s.pl 文件中?
答案 0 :(得分:1)
如果您要主动修改同义词数据库,您可能只需将wordnet数据库中的同义词集转换为此格式的基本逗号分隔文件
"british,english",
"queen,monarch"
然后使用并编辑此文件作为同义词资源。