ElasticSearch映射问题

时间:2014-10-21 17:28:37

标签: elasticsearch elasticsearch-mapping

我有indextype。我使用了mappingngram analyzer。问题是当我想在同一mapping下使用ngram analyzerindex作为新类型时,它会给我一个错误,并强制我删除索引。

但是我不想为每个映射操作删除新类型的索引,因为我可能会继续在同一索引下添加新类型。删除索引并再次索引所有文档和类型将为我节省时间和数据。

你有解决方法吗?

1 个答案:

答案 0 :(得分:1)

您可以添加新类型到现有索引的映射,而无需重新索引预先存在的类型的旧文档。您可以在update mapping中阅读它。

例如,如果您有索引“ TEST ”并且您想要创建新类型“type_new”。您可以运行以下命令:

curl -XPUT 'http://<server>/TEST/_mapping/type_new' -d '
{
    "TYPE_NEW" : {
        "properties" : {
            "subject" : {"type" : "string", "store" : true }
        }
    }
}'

但是,如果要将新分析器添加到现有索引中,则需要关闭索引更新设置,然后重新打开。您可以查看update settings以获取更多信息。