【问题标题】:When using DSE Search, Do I need to reindex to remove a field使用 DSE 搜索时,是否需要重新索引才能删除字段
【发布时间】:2013-12-28 16:24:54
【问题描述】:

我正在使用 DSE 搜索 3.2.1。我们删除了一些不需要的索引和字段,并将schema.xml 文档发布到所有节点。我们是否需要做其他事情才能让它停止索引数据?我们需要运行重新索引还是完全重新索引?

【问题讨论】:

    标签: solr cassandra datastax-enterprise datastax


    【解决方案1】:

    根据我在 Solr 中看到的内容,我很确定您需要在更改 solr schema.xml 中文档中的字段后重新编制索引。发布后,您需要重新加载核心。如果在那之后查询仍然有效,您可能没问题,但我猜您需要运行重新索引以确保安全。

    【讨论】:

    • “重新加载核心”是什么意思,我可以只做一个就地索引还是需要删除并重新创建整个索引,这会导致错过读取?
    • 当我说重新加载时,我的意思是:wiki.apache.org/solr/CoreAdmin(在 RELOAD 操作下)。因为索引结构不同,你可能需要重新创建整个索引,除非有一些魔法可以删除我不知道的字段。
    • DSE 有具体参数需要用来重新索引:datastax.com/docs/datastax_enterprise3.2/solutions/…
    【解决方案2】:

    如果您不重新索引,现有的 Solr 索引字段值将保留,占用空间并响应查询。并且新插入或更新不会有已删除的字段。正如 Ben 所说,那可能没问题。

    Solr 重新索引将删除所有旧字段值。

    【讨论】:

      【解决方案3】:

      理想情况下,如果您更改 schema.xml 中的任何内容并希望更改反映您必须进行重新索引。但是,重新索引完全取决于应用程序用例和其中的记录数。如果删除索引的原因是由于缺乏使用,那么您无需重新索引,因为不会搜索它们。旧索引会占用一些空间,但应该没问题。此外,在进行重新索引时要小心,因为它在很大程度上取决于您拥有的文档数量。如果您有大约 10M 或以上的数据,我会不建议重新索引,因为它是 CPU 和 I/O 绑定操作。如果文档数量较少,那么您当然可以继续进行。

      【讨论】:

        猜你喜欢
        • 2012-05-23
        • 1970-01-01
        • 2016-02-22
        • 2020-12-13
        • 2020-07-28
        • 2017-10-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多