elasticsearch - 找不到elasticsearch edge_ngrams分析器

标签 elasticsearch

我正在观看来自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/

相关文章:

elasticsearch - ElasticSearch删除的文档占用更多空间

hadoop - Elasticsearch-Hadoop如何在spark程序中进行批量搜索

elasticsearch - 如何使用elasticsearch搜索单词的开头?

elasticsearch - Kibana 无法在 Windows 上连接到 elasticsearch

java - AWS/Lambda/Java 上的 Elasticsearch 客户端 - 2.5 秒客户端启动时间

curl - 自定义分析器在Elasticsearch中不起作用

elasticsearch - 如何获得 Elasticsearch 以返回完全匹配的结果,然后返回结果中的其他匹配项

elasticsearch - 升级到 TFS 2018 Update 2 后搜索失败

date - query_string字段中的日期类型属性始终给出错误

java - java中没有应用程序服务器的数据库连接池