Full text search 开发分布式全文搜索索引(也称为反向索引)
我知道如何在一台机器上开发一个简单的反向索引。简而言之,它是保存在内存中的标准哈希表,其中: -关键词 -值-单词位置的列表 例如,代码如下所示: 问题: 现在,我尝试将其分布在n个节点中,然后依次:Full text search 开发分布式全文搜索索引(也称为反向索引),full-text-search,scalability,sharding,full-text-indexing,inverted-index,Full Text Search,Scalability,Sharding,Full Text Indexing,Inverted Index,我知道如何在一台机器上开发一个简单的反向索引。简而言之,它是保存在内存中的标准哈希表,其中: -关键词 -值-单词位置的列表 例如,代码如下所示: 问题: 现在,我尝试将其分布在n个节点中,然后依次: 使此索引水平可伸缩 对此索引应用自动分片 我对自动切分特别感兴趣。欢迎任何想法或链接 谢谢。it本身的分片是一项相当复杂的任务,在现代DBs中还没有完全解决。分布式DBs中的典型问题是,在添加新的空白节点后或在数据中自然出现不平衡后,重新平衡集群数据,以及其他一些低级别且极具挑战性的任务 在我见过
谢谢。it本身的分片是一项相当复杂的任务,在现代DBs中还没有完全解决。分布式DBs中的典型问题是,在添加新的空白节点后或在数据中自然出现不平衡后,重新平衡集群数据,以及其他一些低级别且极具挑战性的任务 在我见过的数据库中实现的最好的数据分发是在Cassandra中。然而,在CASANDRA中尚未实现全文搜索,因此您可以考虑在其上构建分布式索引。
其他一些已经实施的选项包括和。在给出的示例中,缺少一个重要的细节,即词干分析。有了词干,你基本上可以搜索任何形式的单词,比如“sing”、“sings”、“singer”。以前的两种解决方案已经在大多数语言中实现。谢谢您的回答。我找到了Cassandra和其他一些DBs的比较,并在以下位置再次遇到了一致的散列算法:事实上,之前我研究了这个算法,在我的博客中描述了这个算法:我认为这个算法也可以应用于反向索引。我想倒排索引的键可以传递到一致的散列数据结构中。更正:如果我将倒排索引与一致散列相结合,我还想听到其他方法和陷阱。最简单的形式是NoSQL DB与基于散列的键可以被视为一个巨大的散列图。是的,您可以简单地将反向索引键传递给DB。