如何将弹性搜索设置+映射存储在一个文件中(例如 Solr 的 schema.xml)?目前,当我想更改我的映射时,我必须删除我的索引设置并重新开始。我错过了什么吗?
到目前为止,我还没有大型数据集。但是为了准备要索引的大量数据,我希望能够修改设置以及如何重新索引,而无需每次都完全重新开始。这可能吗?如果可以,怎么做?
如何将弹性搜索设置+映射存储在一个文件中(例如 Solr 的 schema.xml)?目前,当我想更改我的映射时,我必须删除我的索引设置并重新开始。我错过了什么吗?
到目前为止,我还没有大型数据集。但是为了准备要索引的大量数据,我希望能够修改设置以及如何重新索引,而无需每次都完全重新开始。这可能吗?如果可以,怎么做?
这些实际上是伪装成一个的多个问题。尽管如此:
如何将弹性搜索设置+映射存储在一个文件中(例如 Solr 的 schema.xml)?
首先,请注意,您不必为许多类型指定映射,例如日期、整数甚至字符串(如果您可以使用默认分析器)。
您可以在ElasticSearch< 1.7
中以各种方式存储设置和映射:
目前,当我想更改我的映射时,我必须删除我的索引设置并重新开始。我错过了什么吗?
当您更改现有字段的映射时,您必须重新索引数据。一旦您的文档被索引,引擎需要重新索引它们,以使用新的映射。
请注意,您可以在特定情况下更新索引设置,例如number_of_replicas
“即时”。
我希望能够修改设置以及如何重新索引,而无需每次都重新开始。这可能吗?如果可以,怎么做?
如前所述:如果你想为它们使用全新的映射,你必须重新索引你的文档。
如果您正在添加而不是更改映射,则可以更新映射,并且新文档将在被索引时拾取它。
由于弹性搜索2.0
:
不再可以在 config 目录中的文件中指定映射。
在此处找到文档链接。
也不能再将索引模板存储在目录path.conf
下的配置位置 ( ) 中。templates
(默认情况下在 Ubuntu 上)现在只存储环境变量path.conf
,/etc/default/elasticsearch
包括堆大小、文件描述符。
您需要使用curl
.
如果您真的很绝望,您可以创建索引,然后备份您的data
目录,然后将其用作新 Elasticsearch 集群的“模板”。