首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发分布式全文搜索索引(AKA倒排索引)

开发分布式全文搜索索引(AKA倒排索引)
EN

Stack Overflow用户
提问于 2013-09-24 19:55:47
回答 1查看 1.2K关注 0票数 0

我知道如何在一台机器上开发一个简单的倒排索引。简而言之,它是一个保存在内存中的标准哈希表,其中:- key --一个单词-值--一个单词位置列表,例如,代码在这里:Index#Java

问题:

现在,我试图使它分布在n个节点之间,然后依次:

  1. 使此索引具有水平可伸缩性。
  2. 对此索引应用自动分块。

我对自动切分特别感兴趣。欢迎任何想法或链接!

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-09-25 08:48:22

分片本身是一项相当复杂的任务,在现代数据库中还没有完全解决。分布式数据库中的典型问题是盖定理,以及其他一些低级别和相当具有挑战性的任务,例如在添加新的空白节点后重新平衡集群数据,或者在数据中自然出现不平衡。

在我见过的DB中实现的最好的数据分发是在Cassandra中实现的。然而,全文搜索尚未在Cassandra中实现,因此您可以考虑在其基础上构建您的分布式索引。

其他一些已经实现的选项是弹性搜索SolrCloud。在给出的例子中,缺少一个重要的细节,那就是词干。有了单词词干,你基本上可以搜索任何形式的单词,如“唱歌”,“唱歌”,“歌手”。卢塞尼和前面的两个解决方案已经为大多数语言实现了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18990857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档