2012-01-22 22 views
0

私はmysql全文質問をしています。上Refrence:http://dev.mysql.com/doc/refman/5.0/en/fulltext-boolean.htmlmysql fulltext union words

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

を返すべきだと思うそして私の目的で、私はそれがほぼ520アイテムを返さなければなりません

(+apple +pie) (+apple +juice) (+apple +macintosh) (+apple +turnover) (+apple +strudel) (+pear +pie) (+pear +juice) (+pear +macintosh) (+pear +turnover) (+pear +strudel)

のための労働組合の検索を必要としています。ありがとう。

+0

がUNION演算子を使用します。Query1を組合QUERY2 - http://www.w3schools.com/sql /sql_union.asp – Adrian

+0

@Adrian、これは長いlongクエリse ntence。私は最後に10の検索キーワードを持っています。 –

答えて

2

これは、あなたが望むものでなければなりません:

SELECT 
    * 
FROM 
    table 
WHERE 
    (MATCH (aindex,bindex) AGAINST ('+apple +(pie juice)' IN BOOLEAN MODE)) 

ETA:通読私の最初の梨句を逃しました。あなたは、私は、これは動作するはず思い記載されているすべてのものを取得するには:

SELECT 
    * 
FROM 
    table 
WHERE 
    (MATCH (aindex,bindex) AGAINST ('+((apple +(pie juice macintosh turnover strudel)) (pear +(pie juice macintosh turnover strudel)))' IN BOOLEAN MODE)); 

「アップルパイ、ジュース、マッキントッシュ、売上高、またはシュトルーデルOR梨の一つとパイのいずれかを含める必要がありますに変換する必要があり、ジュース、マッキントッシュ、売上高、またはシュトルーデル

それは私がこれを行うと動作しない場合:

SELECT 
    * 
FROM 
    table 
WHERE 
    (MATCH (aindex,bindex) AGAINST ('+apple +(pie juice macintosh turnover strudel)' IN BOOLEAN MODE)) 
UNION 
SELECT 
    * 
FROM 
    table 
WHERE 
    (MATCH (aindex,bindex) AGAINST ('+pear +(pie juice macintosh turnover strudel)' IN BOOLEAN MODE)); 
+0

最後の私の目的の検索をどう扱うのですか? UNION(SELECT * FROM table WHERE(MATCH(aindex、aindex、bindex))テーブルのWHERE句は、 (BOOLEAN MODE))) '?( '+ pear(+ pie + juice + macintosh + turnover + strudel) –

+0

それには2つの可能な解決策が追加されました。うまくいけば、最初の作品。 – Ilion

+0

偉大な、ありがとう、また '(+(リンゴの梨)+(パイジュースのMacintosh回転率シュトゥットル))'): –