我有一个现有的弹性搜索索引,我想添加一个分析器,但是当我执行此命令时
{
"analysis" : {
"analyzer" : {
"synonym" : {
"tokenizer" : "whitespace",
"filter" : ["synonym"]
}
},
"filter" : {
"synonym" : {
"type" : "synonym",
"synonyms_path" : "synonym.txt",
"ignore_case" : true
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到一个错误
{"error":"IndexAlreadyExistsException[[nuxeo] 已经存在]","status":400}
所以我必须在添加或刷新同义词文件之前删除索引不是很聪明 存在添加分析器的简单方法吗?或至少刷新它?谢谢
您需要先关闭索引,更新分析器设置,然后再打开索引。这是更新现有分析仪设置的唯一方法。请注意,只有更改索引时未使用但已使用的分析器才有意义
curl -XPOST 'localhost:9200/schoolrecords/_close'
curl -XPUT 'localhost:9200/schoolrecords/_settings' -d '{
"analysis" : {
"analyzer" : {
"synonym" : {
"tokenizer" : "whitespace",
"filter" : ["synonym"]
}
},
"filter" : {
"synonym" : {
"type" : "synonym",
"synonyms_path" : "synonym.txt",
"ignore_case" : true
}
}
}
}'
curl -XPOST 'localhost:9200/schoolrecords/_open'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2330 次 |
最近记录: |