在ElasticSearch中为附件类型创建映射时出现NoSuchMethodError

时间:2014-11-21 18:39:26

标签: elasticsearch

我跟随此tutorial

我首先安装attachment-mapper(将其链接替换为最新版本)。

bin/plugin -install elasticsearch/elasticsearch-mapper-attachments/2.4.1

开始新的,删除"测试"索引,然后创建一个新的:

curl -X DELETE "localhost:9200/test"

创建索引,我推测:

curl -X PUT "localhost:9200/test" -d '{
  "settings" : { "index" : { "number_of_shards" : 1, "number_of_replicas" : 0 }}
}'

然后我尝试创建映射:

curl -X PUT "localhost:9200/test/attachment/_mapping" -d '{
  "attachment" : {
    "properties" : {
      "file" : {
        "type" : "attachment",
        "fields" : {
          "title" : { "store" : "yes" },
          "file" : { "term_vector":"with_positions_offsets", "store":"yes" }
        }
      }
    }
  }
}'

然后我收到此错误:

{
  "error" : "NoSuchMethodError[org.elasticsearch.index.mapper.core.TypeParsers.parseMultiField(Lorg/elasticsearch/index/mapper/core/AbstractFieldMapper$Builder;Ljava/lang/String;Lorg/elasticsearch/index/mapper/Mapper$TypeParser$ParserContext;Ljava/lang/String;Ljava/lang/Object;)V]",
  "status" : 500
}

知道发生了什么事吗? 附件映射器插件安装会出现问题吗? attachment-mapper使用Tika。我安装了Tika,也许安装错了?我该如何检查?

任何见解都会有所帮助。

1 个答案:

答案 0 :(得分:1)

我安装了错误的ElasticSearch版本。

对于我安装的attachment-mapper插件,我需要elasticsearch版本1.4。

删除了旧版本,安装了新版本,安装了attachment-mapper插件,启动了服务,并再次运行了教程,并且工作正常。