相关疑难解决方法(0)

全文搜索引擎的比较 - Lucene,Sphinx,Postgresql,MySQL?

我正在建立一个Django网站,我正在寻找一个搜索引擎.

一些候选人:

  • Lucene/Lucene与Compass/Solr

  • 狮身人面像

  • Postgresql内置全文搜索

  • MySQl内置全文搜索

选择标准:

  • 结果相关性和排名
  • 搜索和索引速度
  • 易于使用,易于与Django集成
  • 资源需求 - 站点将托管在VPS上,因此理想情况下搜索引擎不需要大量的RAM和CPU
  • 可扩展性
  • 额外的功能,如"你的意思是?",相关的搜索等

任何有上述搜索引擎经验的人,或者不在列表中的其他引擎 - 我很想听听你的意见.

编辑:至于索引需求,当用户不断将数据输入网站时,这些数据需要连续编入索引.它不一定是实时的,但理想情况下,新数据会出现在索引中,延迟时间不超过15-30分钟

mysql lucene postgresql full-text-search sphinx

308
推荐指数
7
解决办法
14万
查看次数

将用户输入的搜索查询转换为where子句,以便在SQL Server全文搜索中使用

将用户输入的搜索词转换为可用于where子句进行全文搜索以查询表并获取相关结果的查询的最佳方法是什么?例如,用户输入以下查询:

+"e-mail" +attachment -"word document" -"e-learning"
Run Code Online (Sandbox Code Playgroud)

应该翻译成:

SELECT * FROM MyTable WHERE (CONTAINS(*, '"e-mail"')) AND (CONTAINS(*, '"attachment"')) AND (NOT CONTAINS(*, '"word document"')) AND (NOT CONTAINS(*, '"e-learning"'))
Run Code Online (Sandbox Code Playgroud)

我目前正在使用查询解析器类,它使用正则表达式将用户输入的查询解析为标记,然后从标记构造where子句.

但是,鉴于这可能是许多使用全文搜索的系统的常见要求,我很好奇其他开发人员如何处理这个问题,以及是否有更好的做事方式.

c# sql-server search full-text-search user-input

12
推荐指数
2
解决办法
5003
查看次数