Php Mysql高级搜索
有人能帮我使用PHP在MySQL中实现一些高级搜索功能吗 我需要在特定字段(标题、说明)中执行搜索,一些特殊字符可以用作:Php Mysql高级搜索,php,mysql,full-text-search,Php,Mysql,Full Text Search,有人能帮我使用PHP在MySQL中实现一些高级搜索功能吗 我需要在特定字段(标题、说明)中执行搜索,一些特殊字符可以用作: 对于以给定文本开头的几个单词(例如搜索词为“north*”,应返回包含northern、northwest等的条目) 要排除单词(例如,搜索词为“假期-巴哈马群岛”,应返回包含假期的条目,但不能返回包含巴哈马群岛的条目) 您可能需要更专业的搜索技术。退房 许多开发人员将数据存储在MySQL中,然后使用像Sphinx search这样的搜索引擎作为配套技术来索引数据并高效地
- 对于以给定文本开头的几个单词(例如搜索词为“north*”,应返回包含northern、northwest等的条目)
- 要排除单词(例如,搜索词为“假期-巴哈马群岛”,应返回包含假期的条目,但不能返回包含巴哈马群岛的条目)
- 您可能需要更专业的搜索技术。退房
许多开发人员将数据存储在MySQL中,然后使用像Sphinx search这样的搜索引擎作为配套技术来索引数据并高效地进行搜索
使用合适的工具做这项工作。我有点不清楚你在问什么。如果您想自己实现这一点,以实现PHP中的特定功能,以下是您需要的SQL知识:
SELECT * FROM table
WHERE title LIKE '%north%'
这将查找标题包含“north”的所有条目
SELECT * FROM table W
HERE title LIKE 'north%'
这将查找标题以“north”开头的所有条目
SELECT * FROM table W
WHERE (title LIKE 'north %' OR title LIKE '% north %' OR title LIKE '% north')
这将查找标题中包含单词north的所有条目
SELECT * FROM table
WHERE (description LIKE '% vacation %' OR description LIKE 'vacation %' OR description LIKE '% vacation')
AND (description NOT LIKE '% bahamas %' AND description NOT LIKE 'bahamas %' AND description NOT LIKE '% bahamas')
这将查找描述中包含单词“假期”而不是单词“巴哈马”的所有条目
但是,如果您需要更复杂(处理不区分大小写的查询)、健壮或高效的解决方案,请使用Bill Karwin的答案。这里有一些索引文本搜索系统的比较。感谢您的输入。我来看看斯芬克斯搜索。谢谢你提供的有用信息。我认为这些问题可以解决问题。我试试看。很高兴看到一些人愿意帮助,而不是其他一些“天才”只给予-1。