2010-06-06 72 views
2

你能推荐一个全文搜索引擎吗? (最好是开源的)你能推荐一个全文搜索引擎吗?

我有一个很多(尽管相对较短)的HTML文档的数据库。我希望用户能够通过在我的C++桌面应用程序中输入一个或多个搜索词来搜索此数据库。因此,我正在寻找一种快速的全文搜索解决方案来整合我的应用程序。理想情况下,它应该:

  • 跳过常用词,如theofand
  • 支持所产生的,即搜索run还发现含有runnerrunningran文档。
  • 随着新文档添加到数据库中,能够在后台更新其索引。
  • 能够提供搜索字词建议(如谷歌建议)
  • 有一个证据充分的API

为了说明,假设数据库中只有两个文件:

文件1This is a test of text search.

文档2Testing is fun.

下列词语应该在指数:funsearchtesttestingtext。如果用户在搜索框中键入t,我希望应用程序能够建议test,testingtext(理想情况下,应用程序应该能够从t开始查询搜索引擎中的10个最常见搜索词)。搜索testing应该返回这两个文档。

其他景点:

  • 我不需要多用户支持
  • 我并不需要进行复杂查询
  • 数据库驻留在用户的计算机上支持,所以索引应该是在本地执行。

你能提出一个基于C或C++的解决方案吗? (我简要回顾了CLuceneXapian,但我不确定是否会解决我的需求,尤其是查询搜索词索引的建议功能)。

回答

2

我使用非常成功的dtSearch模块。

他们有一个DLL,你可以使用你的应用程序来索引任何东西,并做比你问的更多。

注意:不是免费的。

我没有看到问题,你要求免费的,所以我写我的青睐之一。 dtSearch激发了我,我为我的网站创建了语言Ellinika的索引器,因为没有找到我正在寻找我的语言的东西。

有只为steeming如果你只需要找到你的话建议一些模块,我必须得从这里http://tartarus.org/~martin/PorterStemmer/

例如参考,如果你有一个像MS SQL数据库,所有准备做一些基本的索引,有人搜索一个词,你什么都没有找到,你可以通过你自己的这个词来做,并重新搜索...

+0

注意:这不是免费的。 – 2010-06-06 08:55:00

3

你可以使用C/C++和sphider for php。两者都是免费的,但需要时间来设置和使用,但不难理解。