You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Linkedin WhereHows时Elasticsearch索引创建失败求助

解决WhereHows安装中Elasticsearch 6.2.4的索引配置问题

我来帮你一步步搞定这两个问题,其实都是Elasticsearch 6.x版本的特性限制导致的,咱们逐个解决:

第一个问题:Content-Type header不支持的错误

Elasticsearch从6.x版本开始,要求所有带请求体的POST/PUT请求必须明确指定Content-Type: application/json请求头,而默认的curl请求会用application/x-www-form-urlencoded,这就触发了406错误。你已经尝试添加这个请求头是对的,这一步没问题,接下来的错误才是核心问题。

第二个问题:多Mapping Type被拒绝的错误

这个错误的原因很明确:Elasticsearch 6.x不允许单个索引存在多个Mapping Type(比如你这里的field、comment、dataset三个type)。这是ES 6.x的重要更新限制(到7.x直接移除了Type概念),而WhereHows的官方文档大概率是基于ES 5.x及以前版本编写的,所以默认配置会把多个type放到同一个索引下,这在6.x里就会报错。

最稳妥的解决方案:拆分索引

既然一个索引不能有多个type,那我们就给每个type单独创建对应的索引,然后修改WhereHows的配置指向这些新索引:

  1. 分别创建独立索引
    针对每个type创建单独的索引,每个索引只包含对应的mapping。比如:

    • 创建wherehows_dataset索引:
      curl -XPUT 'http://localhost:9200/wherehows_dataset' -H "Content-Type: application/json" -d '{
        "mappings": {
          "dataset": {
            "properties": {
              // 这里粘贴原配置中dataset对应的mapping属性
            }
          }
        }
      }'
      
    • 同理创建wherehows_field和wherehows_comment索引,分别对应各自的mapping内容。
  2. 修改WhereHows的配置文件
    找到WhereHows配置目录下的elasticsearch相关配置(一般是application.conf或者单独的elasticsearch.conf),找到类似下面的配置项:

    elasticsearch.index.dataset = "wherehows"
    elasticsearch.index.field = "wherehows"
    elasticsearch.index.comment = "wherehows"
    

    修改为每个type对应的新索引名:

    elasticsearch.index.dataset = "wherehows_dataset"
    elasticsearch.index.field = "wherehows_field"
    elasticsearch.index.comment = "wherehows_comment"
    
  3. 验证配置
    重启WhereHows服务后,尝试触发数据同步,或者用curl验证索引是否正常读写,比如:

    curl 'http://localhost:9200/wherehows_dataset/_search?pretty'
    

备选方案:合并为单个Type(不推荐)

如果你不想拆分索引,可以把所有type合并成ES 6.x允许的单个type(比如统一用_doc),但这种方法需要修改所有mapping的type名称,同时调整WhereHows代码或配置中对应的type参数,容易引发其他兼容性问题,所以更推荐拆分索引的方案。


内容的提问来源于stack exchange,提问作者lampShadesDrifter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:26:50