我正在尝试在亚马逊网络服务的弹性搜索中上传sysnonyms.txt,但我找不到任何可行的方法。我所尝试的只有以下几点。
我不应该使用内联sysnonym,因为我有一个很大的同义词列表。所以我试着使用下面的设置将synonyms.txt升级到亚马逊网络服务的弹性搜索,
"settings": {
"analysis": {
"filter": {
"synonyms_filter" : {
"type" : "synonym",
"synonyms_path" : "https://test-bucket.s3.amazonaws.com/synonyms.txt"
}
},
"analyzer": {
"synonyms_analyzer" : {
"tokenizer" : "whitespace",
"type": "custom",
"filter" : ["lowercase","synonyms_filter"]
}
}
}
当我使用上述设置从Kibana(VPC访问)创建索引时,出现以下异常。
{"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[0jc0TeJ][x.x.x.x:9300][indices:admin/create]"}],"type":"illegal_argument_exception","reason":"IOException while reading synonyms_path_path: (No such file or directory)"}},"status":400}
因为我的Elastic search托管了我的AWS,所以我无法获取节点详细信息或etc文件夹详细信息来上传我的文件。
对于上传文件到AWS ES的方法或方法有什么建议吗?
发布于 2019-08-27 19:14:29
AWS ES服务has many limitations,其中之一是您不能使用基于文件的同义词(因为您没有访问文件系统的权限)。
您需要在索引设置中使用list all your synonyms。
"settings": {
"analysis": {
"filter": {
"synonyms_filter" : {
"type" : "synonym",
"synonyms" : [ <--- like this
"i-pod, i pod => ipod",
"universe, cosmos"
]
}
},
"analyzer": {
"synonyms_analyzer" : {
"tokenizer" : "whitespace",
"type": "custom",
"filter" : ["lowercase","synonyms_filter"]
}
}
}
更新:
您现在可以通过添加custom packages在AWS ES中使用基于文件的同义词
https://stackoverflow.com/questions/57673383
复制相似问题