Optimization 搜索查询优化

Optimization 搜索查询优化,optimization,search,Optimization,Search,在过去,我从未对搜索查询进行过太多的清理/重新格式化,至少不超过一般的安全措施,比如防止sql注入 我意识到我应该实现诸如AND、OR、NOT等关键字。。。以及清除标点符号,如撇号、连字符等。。。当用户在搜索框中键入“Smith”时,查询不会返回“Smith”(带撇号) 我还可以做些什么来改进用户的搜索查询(而不损害他们) 我来自PHP MySQL FTS设置;但是,我相信这可以扩展到多个平台 编辑 让我澄清一下,我对数据库的SQL查询不太感兴趣,我感兴趣的是优化用户在搜索框中提供的查询 在搜索

在过去,我从未对搜索查询进行过太多的清理/重新格式化,至少不超过一般的安全措施,比如防止sql注入

我意识到我应该实现诸如AND、OR、NOT等关键字。。。以及清除标点符号,如撇号、连字符等。。。当用户在搜索框中键入“Smith”时,查询不会返回“Smith”(带撇号)

我还可以做些什么来改进用户的搜索查询(而不损害他们)

我来自PHP MySQL FTS设置;但是,我相信这可以扩展到多个平台

编辑 让我澄清一下,我对数据库的SQL查询不太感兴趣,我感兴趣的是优化用户在搜索框中提供的查询

  • 在搜索查询的“where”子句列上创建索引
  • 为了实现简单的拼写更正,您还可以存储您希望提供拼写检查的列的soundex
  • 为慢速查询启用日志记录,这将帮助您跟踪性能问题
  • 在搜索查询的“where”子句列上创建索引
  • 为了实现简单的拼写更正,您还可以存储您希望提供拼写检查的列的soundex
  • 为慢速查询启用日志记录,这将帮助您跟踪性能问题
    • 近关键字
    • “精确短语”的双引号
    • 删除短/常用词(“a”、“an”、“the”等)
    • (删除常用的前缀和后缀)
    我建议通读这个类似问题的答案:还有谷歌的一些功能。

    • 近关键字
    • “精确短语”的双引号
    • 删除短/常用词(“a”、“an”、“the”等)
    • (删除常用的前缀和后缀)

    我建议大家通读一下这个类似问题的答案:还有谷歌的一些功能。

    FTS在数据库供应商之间可以适度转移——关键字基本相同,但语法可能略有不同。你可以看看像斯芬克斯(Sphinx)这样的第三富时,让富时变得更便携。这其实不是我要问的。我想知道我还应该对用户提供的查询做些什么,而不是对数据库的查询。你的标题是错误的。改进搜索查询=Query optimization.FTS可在数据库供应商之间适度转移-关键字基本相同,但语法可能略有不同。你可以看看像斯芬克斯(Sphinx)这样的第三富时,让富时变得更便携。这其实不是我要问的。我想知道我还应该对用户提供的查询做些什么,而不是对数据库的查询。你的标题是错误的。改进搜索查询=查询优化。