【问题标题】:Loose searching approach松散搜索方法
【发布时间】:2012-03-07 06:33:01
【问题描述】:

我想为我的网站创建一个搜索选项,为了好玩,我决定至少自己尝试一下(如果我失败了,总是有 Google 自定义搜索)。

问题是,我什至不知道如何接近这个怪物!以下是要求:

  • 并非所有关键字都需要在搜索中(如果要搜索“Big happy world”,它还会搜索“Big world”“happy world”等)
  • 常见拼写错误注意事项(来自数据库、通过编辑差异或预定义的常见错误列表(而不是 => 而不是等)。
  • 搜索帖子的内容和标题,重点是标题。
  • 别吸

我已经在我的老朋友 Google 上搜索了它,但我找到的唯一合理的东西是关于该主题的学术水平论文(英语不是我的母语,我很好但不是那么好 =()。

简而言之:有谁知道一个好的起点、教程、文章、示例?

提前致谢。

【问题讨论】:

  • 那么你真的想构建一个全文搜索引擎(这就是通常所说的)还是你想要对现有项目的推荐?
  • 我想尝试构建一个文本搜索引擎(针对单个站点,帖子不多),但现有项目也将受到欢迎。

标签: php algorithm search search-engine information-retrieval


【解决方案1】:

如果您想创建自己的搜索引擎,apache lucene 是一个成熟的开源库,可以为您处理大部分功能。

使用 lucene,您首先要索引您的信息 [使用 IndexWriter]。这是离线完成的,以创建索引。
在 serach 上 - 您使用 IndexSearcher 来查找与您的查询匹配的文档。

如果您想了解“它是如何工作的”的一些理论知识,您应该在information retrieval 上阅读更多内容。一个好的起点是斯坦福的introduction to information retrieval

【讨论】:

    【解决方案2】:

    您可以尝试多种选择:

    • Apache Lucene(Zend 框架中存在基于 PHP 的实现)
    • ElasticSearch(在 Lucene 之上提供类似 REST 的 API)
    • 夏片
    • 狮身人面像

    可能还有很多其他人。

    【讨论】:

      猜你喜欢
      • 2011-09-05
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 2019-12-02
      相关资源
      最近更新 更多