0
我已经使用以下设置配置了我的索引,并且matchAll查询结果在字段IPRANGE中具有值“trial”。ElasticSearch edge-ngram不起作用
的设置:
{
"settings" : {
"analysis": {
"filter": {
"autocomplete_filter": {
"type": "edge_ngram",
"min_gram": 1,
"max_gram": 5
}
},
"analyzer": {
"autocomplete": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"autocomplete_filter"
]
}
}
}
},
"mappings" : {
"users" : {
"properties" : {
"IPRANGE" : {
"type" : "string",
"analyzer" : "autocomplete"
}
}
}
},
refresh_interval: "1000"
}
但是,当我用以下的有效载荷它不返回的结果,即搜索是0命中。
网址:
http://xxxxxx:9200/db2/users/_search
有效载荷:
{
"query": {
"match": {
"IPRANGE": "tr"
}
}
}
可能是什么问题?
我需要重新启动elasticsearch服务器的设置应用?另外有没有重新索引而不是重新启动的API? – 2014-08-28 10:30:29
您可以使用'_mapping PUT' API更改'用户'映射,它会将旧映射与新映射合并:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices -put-mapping.html。然后你需要重新索引文件。如果你有大量的文件看看重新索引插件:https://github.com/karussell/elasticsearch-reindex – 2014-08-28 10:52:07