能推荐一个全文搜索引擎吗?(最好是开源的)
我有一个包含许多(虽然相对较短)HTML 文档的数据库。我希望用户能够通过在我的 C++ 桌面应用程序中输入一个或多个搜索词来搜索这个数据库。因此,我正在寻找与我的应用程序集成的快速全文搜索解决方案。理想情况下,它应该:
- 跳过常用词,例如
the
,of
,and
等。 - 支持词干提取,即搜索
run
也能找到包含runner
,running
和ran
. - 能够在将新文档添加到数据库时在后台更新其索引。
- 能够提供搜索词建议(如 Google Suggest)
- 有一个记录良好的 API
为了说明,假设数据库只有两个文档:
文件 1:
This is a test of text search.
文件 2:
Testing is fun.
索引中应包含以下单词: fun
, search
, test
, testing
, text
. 如果用户t
在搜索框中输入,我希望应用程序能够建议test
,testing
并且text
(理想情况下,应用程序应该能够在搜索引擎中查询以 开头的 10 个最常见的搜索词t
)。搜索testing
应该返回两个文档。
其他要点:
- 我不需要多用户支持
- 我不需要复杂查询的支持
- 数据库驻留在用户的计算机上,因此应在本地执行索引。
你能推荐一个基于 C 或 C++ 的解决方案吗?(我已经简要回顾了CLucene和Xapian,但我不确定它们是否能满足我的需求,尤其是查询搜索词索引以获取建议功能)。