【发布时间】:2011-02-28 08:10:15
【问题描述】:
你能推荐一个全文搜索引擎吗? (最好是开源的)
我有一个包含许多(虽然相对较短)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,但我不确定它们是否能满足我的需求,尤其是查询搜索词索引以获取建议功能。
【问题讨论】:
标签: c++ indexing full-text-search search-engine autosuggest