简单的内存全文搜索解决方案

Gel*_*Luo 5 java full-text-search

我有一个在Java上运行的小网站,可能有十几个降价文件.我想为用户提供全文搜索,以便快速访问这些降价文件.由于它很小,我每次启动Web应用程序时都可以在内存中构建索引.有什么建议吗?

注意

  1. 我想远离任何数据库解决方案,sql或nosql.

  2. 我更喜欢将解决方案作为库提供而不是构建到XX框架中

Rob*_*Rob 5

使用其中一个内存数据库,H2或HSQLDB.然后,对于全文搜索部分,只需使用Hibernate Search.它可以与两个DB中的任何一个一起使用,它将使您不必处理Lucene:您可以只注释您的实体,然后:所有索引将自动发生,如果您想执行诸如boost字段之类的操作,你可以用一个简单的注释来做到这一点.


bra*_*287 5

作为辅助项目,我为Java实现了一个简单的内存文本搜索解决方案。

https://github.com/bradforj287/SimpleTextSearch

主要特征:

  • 倒排索引
  • 带有TFIDF排名的余弦相似度算法
  • 多线程索引创建和搜索
  • 词干(雪球词干)
  • 自动剥离HTML标签
  • 停用词
  • 字符串标记器(Stanford NLP)

可能想看看。