我遇到过使用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是否是最佳解决方案,还是有其他选择?
答案 0 :(得分:0)
我没有使用过Cassandra,但我认为你在谈论使用Lucene的Directory接口的Cassandra实现。 Lucene使用Directory与存储机制进行交互。
我发现了一些可能有用的项目:
但是,我不能说任何一个经验。