我有index
和type
。我使用了mapping
和ngram analyzer
。问题是当我想在同一mapping
下使用ngram analyzer
和index
作为新类型时,它会给我一个错误,并强制我删除索引。
但是我不想为每个映射操作删除新类型的索引,因为我可能会继续在同一索引下添加新类型。删除索引并再次索引所有文档和类型将为我节省时间和数据。
你有解决方法吗?
答案 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以获取更多信息。