【问题标题】:Can you recommend a full-text search engine? [closed]能推荐一个全文搜索引擎吗? [关闭]
【发布时间】:2011-02-28 08:10:15
【问题描述】:

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

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

  • 跳过常用词,如theofand等。
  • 支持词干提取,即搜索run 还会找到包含runnerrunningran 的文档。
  • 能够在将新文档添加到数据库时在后台更新其索引。
  • 能够提供搜索词建议(如 Google Suggest)
  • 拥有完善的 API

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

文档 1This is a test of text search.

文档 2Testing is fun.

索引中应包含以下单词:funsearchtesttestingtext。如果用户在搜索框中输入t,我希望应用程序能够建议testtestingtext(理想情况下,应用程序应该能够在搜索引擎中查询最常见的 10 个搜索以t 开头的词)。搜索 testing 应该会返回两个文档。

其他要点:

  • 我不需要多用户支持
  • 我不需要对复杂查询的支持
  • 数据库驻留在用户的计算机上,因此应在本地执行索引。

您能推荐一个基于 C 或 C++ 的解决方案吗? (我已经简要回顾了 CLuceneXapian,但我不确定它们是否能满足我的需求,尤其是查询搜索词索引以获取建议功能。

【问题讨论】:

    标签: c++ indexing full-text-search search-engine autosuggest


    【解决方案1】:

    我非常成功地使用了dtSearch 模块。

    他们有一个 dll,您可以在您的应用程序中使用它来索引任何内容,并且可以做比您要求的更多的事情。

    注意:不是免费的。

    我没有看到你要求免费的问题,所以我写了我喜欢的一个。 dtSearch 启发了我,我为我的网站创建了我的语言 Ellinika 的索引器,因为没有找到我正在寻找的语言。

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

    比如你有一个像ms sql这样的数据库,已经准备好做一些基本的索引,有人搜索一个词,你什么也没找到,你可以自己找这个词,然后再搜索...

    【讨论】:

      【解决方案2】:

      您可以将 Clucene 用于 c/c++ 和 sphider 用于 php。两者都是免费的,但需要时间来设置和使用,但并不难理解。

      【讨论】:

        【解决方案3】:

        也可以查看Sphinx

        【讨论】:

        • 不再真正开源了。
        猜你喜欢
        • 2010-09-25
        • 1970-01-01
        • 1970-01-01
        • 2011-02-11
        • 2010-11-30
        • 2010-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多