存储在Cassandra中的自定义全文索引

时间:2013-12-12 19:04:22

标签: solr lucene cassandra full-text-search

我遇到过使用Cassandra for DB而我需要全文搜索功能的情况。 现在我知道Apache Solr,Apache Cassandra和DSE搜索。

但是,我不想使用昂贵的专有软件(DSE搜索)。我不想使用Apache Solr的原因是因为我不想处理HA,分片和redundency。 Cassandra非常适合HA,分片和冗余;我想将我的全文索引存储在现有的Cassandra DB中。

所以我正在寻找的是将字符串分解为其可索引部分的东西。例如:

String input = "I like apples and bannanas.";

String tokens[] = makeTokenIndex(input);

//tokens = {"I","like","apples","bannanas","apple","bannana"}

String tokens[] = makeTokenIndex(input); //tokens = {"I","like","apples","bannanas","apple","bannana"} 显然我可以在空格上分割字符串并使用单词作为索引键。但我正在寻找比这更聪明的东西。可以处理复数,找到单词的根等的东西......

修改Apache Lucene是否是最佳解决方案,还是有其他选择?

1 个答案:

答案 0 :(得分:0)

我没有使用过Cassandra,但我认为你在谈论使用Lucene的Directory接口的Cassandra实现。 Lucene使用Directory与存储机制进行交互。

我发现了一些可能有用的项目:

但是,我不能说任何一个经验。