我正在使用带有ElasticSearch Plugin的Grails。它工作正常,但我需要定义设置和分析器。
我该怎么做?
我想使用以下设置和映射:
{
"settings" : {
"index" : {
"analysis" : {
"analyzer" : {
"autocomplete" : "engram",
"filter" : ["lowercase"]
}
},
"tokenizer" : {
"engram" : {
"type" : "edgeNgram",
"min_gram" : 3,
"max_gram" : 10
}
}
}
}
},
"mappings" : {
"contacts" : {
"name" : {
"index" : "string",
"index_analyzer" : "autocomplete",
"index" : "analyzed", "search_analyzer" : "standard"
},
"country" : { "type" : "string" }
}
}
}
}
答案 0 :(得分:1)
正如dmahaptro建议的那样,使用Elasticsearch的Rest API会起作用。从“映射”标题下的http://www.elasticsearch.org/guide/reference/api/admin-indices-create-index/开始,您可以将以下内容复制并粘贴到shell中:
curl -XPOST localhost:9200/index_name -d '{
"settings" : {
"index" : {
"analysis" : {
"analyzer" : {
"autocomplete" : "engram",
"filter" : ["lowercase"]
}
},
"tokenizer" : {
"engram" : {
"type" : "edgeNgram",
"min_gram" : 3,
"max_gram" : 10
}
}
}
}
},
"mappings" : {
"contacts" : {
"name" : {
"index" : "string",
"index_analyzer" : "autocomplete",
"index" : "analyzed", "search_analyzer" : "standard"
},
"country" : { "type" : "string" }
}
}
}
}'
检查索引是否使用正确设置创建的方法是使用头部插件:https://github.com/mobz/elasticsearch-head。在浏览器中启动head插件,然后单击所有索引及其设置,映射等的“Cluster State”选项卡。