ASP.NET Building Search,查看Lucene.NET

时间:2011-03-28 10:55:47

标签: asp.net search

我正在寻找具有此基本搜索功能的搜索

  • 使用拼写检查进行快速文本搜索,也许还有“你的意思是......”
  • 外墙。

所以我在看Lucene.NET。或者只是普通的全文索引。

我的数据库大小约为8000家公司记录。只是想知道Lucene.net值得拥有还是我会在正常的SQL索引搜索之上构建拼写检查和Facade搜索

1 个答案:

答案 0 :(得分:1)

我们在电子商务平台中使用Lucene,我们对它非常满意。在此之前,我们曾经有一个搜索功能,只是查询数据库,这个解决方案被证明是不可接受的,原因有很多:

  1. 它不是那么快,所以我们无法想象“Google即时搜索”一样的功能(我们在迁移到基于Lucene的解决方案后实现了这一功能)。

  2. 一旦用户查询变得更加复杂(例如应用多个搜索标准/过滤器),就很难保持响应时间相对较小(并且SQL语句的大小和复杂性极高)。

  3. 我们引入了自己的(或重新实现的)排名算法,因此搜索结果可以与用户的实际含义“匹配”。

  4. 我不是说基于数据库的方法总是对这些事情不好(很可能它只是一个糟糕的设计)。

    此外,我始终牢记这句名言:“永远不要低估快速的重要性”。您现在可能拥有8k记录,但您不确定100%系统将如何随时间演变。在一年内,您的客户会要求提供比自由文本搜索更高级的功能+您的数据库将增长到数百万条记录。在设计搜索基础结构之前要考虑它,否则你可能不得不完全重写它。

    P.S。以下是使用Lucene拼写检查器的示例:“Did you mean?” feature in Lucene.net