任何人都可以帮助我在MySQL中使用PHP的一些高级搜索功能吗?Mysql高级搜索
我需要执行特定的字段(标题,描述)和一些特殊字符搜索可以作为:
- 几个单词开始给定文本(例如搜索字词是“北*”,应该返回一个包含项北部,西北等)
- 排除字词(如搜索词是“休假-bahamas”,应该返回包含vacation条目,但不是那些还含有巴哈马)
任何人都可以帮助我在MySQL中使用PHP的一些高级搜索功能吗?Mysql高级搜索
我需要执行特定的字段(标题,描述)和一些特殊字符搜索可以作为:
我有点不清楚你在问什么。如果你想自己实现,以实现在PHP中的特定功能,在这里您需要的SQL知识:
SELECT * FROM table
WHERE title LIKE '%north%'
这个发现在标题中包含“北”的所有条目
SELECT * FROM table W
HERE title LIKE 'north%'
此找到所有其中冠军“北”开头的条目
SELECT * FROM table W
WHERE (title LIKE 'north %' OR title LIKE '% north %' OR title LIKE '% 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')
这个发现其中的描述包含单词“假期”,而不是单词“巴哈马”
但是,如果你需要一个更复杂的(即处理不区分大小写的查询),稳健的或有效的所有条目解决方案,请与比尔卡尔文的答案一起。
感谢您提供有用的信息。我认为这些疑问将会完成这项工作。我会尝试他们。很高兴看到有些人愿意帮助,而不是其他一些只能给予-1的“天才”。 – Stoner
你可能需要一个更专业的搜索技术年。检查出Sphinx Search。
许多开发人员将数据存储在MySQL中,然后使用搜索引擎(如Sphinx Search)作为配套技术来对数据进行索引并高效地进行搜索。
使用正确的工具进行工作。
感谢您的输入。我会看看Sphinx Search。 – Stoner
有一些索引文本搜索系统[在这个老问题](http://stackoverflow.com/q/2271600/472495)比较。 – halfer