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