您能推荐全文搜索引擎吗? (最好是开源)
我有一个包含许多(虽然相对较短)HTML文档的数据库。我希望用户能够通过在我的C ++桌面应用程序中输入一个或多个搜索词来搜索此数据库。因此,我正在寻找一种快速的全文搜索解决方案来与我的应用程序集成。理想情况下,它应该:
the
,of
,and
等。run
也会找到包含runner
,running
和ran
的文档。为了说明,假设数据库只有两个文档:
文件1 :
This is a test of text search.
文件2 :
Testing is fun.
以下字词应位于索引中:fun
,search
,test
,testing
,text
。如果用户在搜索框中输入t
,我希望应用能够建议test
,testing
和text
(理想情况下,应用应该可以查询搜索引擎,用于以t
开头的10个最常见的搜索词。搜索testing
应返回两个文档。
其他要点:
你能推荐一个基于C或C ++的解决方案吗? (我简要回顾了CLucene和Xapian,但我不确定是否会满足我的需求,特别是查询建议功能的搜索字索引。)
答案 0 :(得分:4)
另请查看Sphinx
答案 1 :(得分:3)
你可以使用Clucene用于c / c ++和sphider用于php。两者都是免费的,但需要时间来设置和使用,但不难理解。
答案 2 :(得分:2)
我使用了dtSearch模块非常成功。
他们有一个dll,您可以将它与您的应用程序一起使用,以索引任何内容,并且比您提出的更多。
注意:不是免费的。
我没有看到你要求免费的一个,所以我写了我的帮助。 dtSearch启发了我,我为我的网站为我的语言Ellinika创建了一个索引器,因为没有找到我在寻找我的语言。
如果您只是需要为您的单词找到建议,有一些模块只是为了进行沉思,我可以从这里获得参考http://tartarus.org/~martin/PorterStemmer/
例如,如果你有一个像ms sql这样的数据库,所有人都准备好做一些基本的索引,并且有人搜索一个单词,而你什么都没找到,你可以通过自己对这个词进行自我调整,然后重新搜索...