我正在观看来自Elasticsearch的官方视频
他们说要这样做:
PUT /blablabla/doc/_mapping
{
"properties": {
"title" : {
"type": "string",
"fields": {
"stemmed" : {
"type": "string",
"analyzer": "english"
},
"autocomplete" : {
"type": "string",
"analyzer": "edge_ngrams"
}
}
}
}
}
我收到分析器edge_ngrams不存在的错误
{
"error": {
"root_cause": [
{
"type": "mapper_parsing_exception",
"reason": "analyzer [edge_ngrams] not found for field [autocomplete]"
}
],
"type": "mapper_parsing_exception",
"reason": "analyzer [edge_ngrams] not found for field [autocomplete]"
},
"status": 400
}
告诉我为什么 ?
我正在使用Elasticsearch 2.2
更新资料
调用
GET /blablabla
我得到以下内容{
"blablabla": {
"aliases": {},
"mappings": {
"doc": {
"properties": {
"job": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"settings": {
"index": {
"creation_date": "1456267981541",
"number_of_shards": "5",
"number_of_replicas": "1",
"uuid": "5042-5UwR42QY45jMRw8jQ",
"version": {
"created": "2010199"
}
}
},
"warmers": {}
}
}
最佳答案
分析器的正确名称是edgeNGram
而不是edge_ngrams
。 checkout 此link
min_gram和max_gram的默认值分别为1和2。在大多数情况下,您可能需要提供自定义分析仪。
您可能想在此reference上查看如何执行此操作
关于elasticsearch - 找不到elasticsearch edge_ngrams分析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35590508/