【问题标题】:How to index existing not-indexed data in riak search?如何在 riak 搜索中索引现有的未索引数据?
【发布时间】:2015-06-11 17:48:08
【问题描述】:

我正在使用 Riak 搜索。在某个时候,我从存储桶中删除了索引。在将一些新对象添加到存储桶中后,我将索引重新打开。

当我按索引搜索时,我找不到没有被索引的对象。

我现在如何索引它们?我认为该解决方案也适用于其他未索引的旧存储桶。

【问题讨论】:

  • 这似乎更像是一个错误。你举报了吗?
  • 我认为应该是这样,因为我在添加明显没有被索引的新对象时删除了索引。
  • 当您添加索引时,无论您之前的操作如何,它都应该以一致的状态结束。制作最小的可重现示例并报告。
  • 我不明白。例如,索引是“著名”。我添加到存储桶属性。并且所有插入到桶中的对象都会在这里被索引出来。后来我把属性里的“着名”的索引删掉了(set search_index to dont_index"。然后我现在添加的对象没有被索引。我觉得这样是合理的。没看到你的bug看。我的问题是,如果我想重新打开索引,如何索引这些丢失的对象。或者,如果我想更改为另一个索引,如何重新索引存储桶中的所有对象。
  • 所以现在可能存在术语不匹配的问题。我所理解的 index 很可能与您所理解的不同。

标签: erlang riak-search


【解决方案1】:

我的解决方案以及 Bucket-Types 上的搜索索引的一些类似问题我使用以下程序(仅在开发中)没有 exp。现在正在与 riak 一起生产,所以其他人必须回答这个问题:

  1. 删除搜索索引

    riakc_pb_socket:delete_search_index(Pid, >, []).

  2. 通过创建新索引来重新索引(在这种情况下默认为 应用的值)

    riakc_pb_socket:create_search_index(Pid, >, >, [])。

之后您的索引应该会更新,并且您无论如何都不必更改代码......

使用 erlang 和 riak 进行愉快的编码

Canislupax

【讨论】:

    猜你喜欢
    • 2017-12-15
    • 2011-01-15
    • 2020-12-17
    • 2012-09-07
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多