8

如何将弹性搜索设置+映射存储在一个文件中(例如 Solr 的 schema.xml)?目前,当我想更改我的映射时,我必须删除我的索引设置并重新开始。我错过了什么吗?

到目前为止,我还没有大型数据集。但是为了准备要索引的大量数据,我希望能够修改设置以及如何重新索引,而无需每次都完全重新开始。这可能吗?如果可以,怎么做?

4

2 回答 2

16

这些实际上是伪装成一个的多个问题。尽管如此:

如何将弹性搜索设置+映射存储在一个文件中(例如 Solr 的 schema.xml)?

首先,请注意,您不必为许多类型指定映射,例如日期、整数甚至字符串(如果您可以使用默认分析器)。

您可以在ElasticSearch< 1.7中以各种方式存储设置和映射:

  1. 在主elasticsearch.yml 文件中
  2. 在索引模板文件中
  3. 带有映射的单独文件中

目前,当我想更改我的映射时,我必须删除我的索引设置并重新开始。我错过了什么吗?

当您更改现有字段的映射时,您必须重新索引数据。一旦您的文档被索引,引擎需要重新索引它们,以使用新的映射。

请注意,您可以在特定情况下更新索引设置,例如number_of_replicas“即时”。

我希望能够修改设置以及如何重新索引,而无需每次都重新开始。这可能吗?如果可以,怎么做?

如前所述:如果你想为它们使用全新的映射,你必须重新索引你的文档。

如果您正在添加而不是更改映射,则可以更新映射,并且新文档将在被索引时拾取它。

于 2011-10-20T10:37:00.567 回答
0

由于弹性搜索2.0

不再可以在 config 目录中的文件中指定映射。

在此处找到文档链接。

也不能再将索引模板存储在目录path.conf下的配置位置 ( ) 中。templates

(默认情况下在 Ubuntu 上)现在只存储环境变量path.conf/etc/default/elasticsearch包括堆大小、文件描述符。

您需要使用curl.

如果您真的很绝望,您可以创建索引,然后备份您的data目录,然后将其用作新 Elasticsearch 集群的“模板”。

于 2016-05-20T06:56:22.030 回答