【问题标题】:Search engine mechanism with multiple arguments具有多个参数的搜索引擎机制
【发布时间】:2011-08-31 21:43:19
【问题描述】:

我正在使用 CodeIgniter/PHP/MySQL 创建一个新网站。

我有机制在我的数据库中传递一些项目,每个项目都有 3 个字段和一个描述

现在我想为这些创建一个搜索机制,具有以下功能:

  • 在 3 个字段和说明中搜索关键字
  • 用户可以为 3 个字段选择多个值
  • 结合以上两者,如果用户同时选择多个值和一个关键字

我已经可以解析数据并创建如下内容:

SELECT * FROM (`My_Table`) 
    WHERE 
        `description` COLLATE utf8_general_ci 
            REGEXP '\[\[:<:\]\]asdasdasd\[\[:>:\]\]' 
        AND `value1` LIKE '%blabla%' 
        OR `value1` LIKE 'lala'

但这远不是我想要创造的!

我不是 SQL 专家,所以我很难找到一种方法来做到这一点。

如果有人知道/想要,请帮助我! 提前致谢!

注意:代码示例/示例将不胜感激!

【问题讨论】:

  • 你能举个例子吗?我不确定“3 个字段的多个值”是什么意思?我假设 field1 = value1, field2 = value2, field3 = value3 方法?或者选择要搜索的字段/值组合?
  • 我的意思是 field1 = value1 OR value2 OR value3 和 field2 = value4 OR value5 OR value6,但两者都应该是 field1 和 field2 应该为结果进行合并,如 field1 AND field2。

标签: php mysql search codeigniter search-engine


【解决方案1】:

您可以对此使用全文搜索

http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html

这对你有很大帮助。

注意:表应使用 MyISAM 存储引擎,列应为全文索引。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多