【发布时间】:2012-01-22 22:28:55
【问题描述】:
我有一个 mysql 全文问题。参考:http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.html
SELECT * FROM table WHERE (MATCH (aindex,bindex) AGAINST ('(+apple +juice)' IN BOOLEAN MODE))
这会返回 14 件商品
SELECT * FROM table WHERE (MATCH (aindex,bindex) AGAINST ('(+apple +pie)' IN BOOLEAN MODE))
这会返回 36 个项目
SELECT * FROM table WHERE (MATCH (aindex,bindex) AGAINST ('(+apple +pie)|(+apple +juice)' IN BOOLEAN MODE))
这返回 1910 个项目,显然,我的查询有问题。如何搜索包含(+apple +pie)和(+apple +juice)的单词?我认为应该是返回14+36=50items
在我的目的中,我需要一个联合搜索
(+apple +pie) (+apple +juice) (+apple +macintosh) (+apple +turnover) (+apple +strudel) (+pear +pie) (+pear +juice) (+pear +macintosh) (+pear +turnover) (+pear +strudel)
应该返回近 520 件商品。谢谢。
【问题讨论】:
-
使用联合运算符:query1 union query2 - w3schools.com/sql/sql_union.asp
-
@Adrian,这将是一个很长的查询语句。我终于有10个搜索关键词了。