试图使用类似于雪球的英语词干来确保多个搜索查询。
有没有标准的aws?还是我需要安装插件?
我试过以下2,得到以下内容:{"error":{"root_cause":[{"type":"remote_transport_exception","reason":"[dd63ee99c9186dd4b38e282ea58cbe6b][x.x.x.x:9300][indices:admin/create]"}],"type":"illegal_argument_exception","reason":"unknown setting [index.filter.my_stemmer.language] please check that any required plugins are installed, or check the breaking changes documentation for removed settings","suppressed":[{"type":"illegal_argument_exception","reason":"unknown setting [index.filter.my_stemmer.type] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"}]},"status":400
}
尝试1:
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"my_stemmer"
]
}
},
"filter": {
"my_stemmer": {
"type": "stemmer",
"language": "light_german"
}
}
}
}
}
和
尝试2:
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "standard",
"filter": [
"lowercase",
"my_stemmer"
]
}
},
"filter": {
"my_stemmer": {
"type": "snowball",
"language": "English"
}
}
}
}
}
最佳答案
可以与以下工具一起使用:
public void createSettingsWithEnglishStemAnalyzer() throws ExecutionException, InterruptedException, IOException {
CreateIndexRequest request = new CreateIndexRequest(indexName);
request.settings(Settings.builder()
.put("index.max_inner_result_window", 250)
.put("index.write.wait_for_active_shards", 1)
.put("index.query.default_field", "paragraph")
.put("index.number_of_shards", 3)
.put("index.number_of_replicas", 2)
.loadFromSource(Strings.toString(jsonBuilder()
.startObject()
.startObject("analysis")
.startObject("filter")
.startObject("english_stemmer")
.field("type","stemmer")
.field("name", "english")
.endObject()
.endObject()
.startObject("analyzer")
.startObject("EnglishStopWordAnalyzer")
.field("tokenizer", "standard")
.field("filter", new String[]{"lowercase","english_stemmer"})
.endObject()
.endObject()
.endObject()
.endObject()), XContentType.JSON)
);
CreateIndexResponse createIndexResponse = client.admin().indices().create(request).get();
System.out.println("Index : "+createIndexResponse.index()+" Created");
getSettingsWithAnalyzer();
}
关于elasticsearch - AWS ElasticSearch服务-我可以在其上使用任何茎干吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62397962/