elasticsearch,Lucene,elasticsearch" /> elasticsearch,Lucene,elasticsearch" />

Lucene Elasticsearch始终返回“;缺少映射类型";

Lucene Elasticsearch始终返回“;缺少映射类型";,lucene,elasticsearch,Lucene,elasticsearch,为了使用elasticsearch查找部分单词,我遵循此处给出的建议: 我创建了一个简单的bash脚本,尝试运行以下版本: curl -XDELETE 10.160.86.134:9200/products curl -XPOST 10.160.86.134:9200/products -d '{ "index": { "number_of_shards": 1, "analysis": { "filter": { "mynGram" : {

为了使用elasticsearch查找部分单词,我遵循此处给出的建议:

我创建了一个简单的bash脚本,尝试运行以下版本:

curl -XDELETE 10.160.86.134:9200/products
curl -XPOST 10.160.86.134:9200/products -d '{
  "index": {
    "number_of_shards": 1,
    "analysis": {
       "filter": {
         "mynGram" : {"type": "nGram", "min_gram": 2, "max_gram": 10}
       },
       "analyzer": {
         "a1" : {
           "type":"custom",
           "tokenizer": "standard",
           "filter": ["lowercase", "mynGram"]
         }
       }
     }
    }
  }
}'

curl -XPUT 10.160.86.134:9200/products/_mapping -d '{
  "product" : {
    "index_analyzer" : "a1",
    "search_analyzer" : "standard",
    "properties" : {
      "product_description": {"type":"string"},
      "product_name": {"type":"string"}
    }
  }
}'
在运行此脚本之后,前两个命令(转储产品,然后设置索引)似乎可以提供以下信息:

{"ok":true,"acknowledged":true}
{"ok":true,"acknowledged":true}
{"error":"ActionRequestValidationException[Validation Failed: 1: mapping type is missing;]","status":500}
然后在映射调用后出错,该调用给出以下内容:

{"ok":true,"acknowledged":true}
{"ok":true,"acknowledged":true}
{"error":"ActionRequestValidationException[Validation Failed: 1: mapping type is missing;]","status":500}

有人能看出我做错了什么吗?搜索google开始自动完成“mapping not found elasticsearch”,因此这似乎是一个非常常见的错误。

结果表明,出现这种情况是因为映射需要应用于类型:

我试着把它用在错误的事情上:

curl -XPUT 10.160.86.134:9200/products/_mapping -d '{
它需要应用于以下类型:

curl -XPUT 10.160.86.134:9200/products/product/_mapping -d '{

很遗憾,一个简单的谷歌搜索无法回答这个问题。另外,我之前链接到的帖子很容易误导读者,答案是错误的,我也要指出这一点。

弹性搜索中可以为索引设置映射。我用最新版本的Elastic search 1.7.3尝试了这一点,并成功地将映射设置为索引

我试了以下方法

  • 删除索引(删除)
  • 将映射json放在索引下(Put)
  • 获取映射(获取/_映射)

我认为特拉维斯是对的,也许这个错误来自于旧版本的ES,旧版本ES中的“类型”就像关系数据库中的表,“索引”就像数据库,“文档”就像记录。如今,“类型”似乎消失了

你可以从照片上看到这一点。


我不知道为什么我不能上传照片。

我支持你。对于弹性搜索来说,似乎还不够。文档的帮助还不够,搜索也帮不了什么忙。我的路由出错,在任何地方都找不到任何答案。我还没有尝试过IRC,但它可能会有所帮助。链接到以供参考。是的,put映射端点缺少“映射类型”(如上面示例中的
\u doc
,或
product
),elasticsearch仍然是一个年轻的项目,文档正在增长,但仍然缺乏。我通常在邮件列表上得到很好的回复,