2012-01-30 55 views
3

我在想,如果它甚至有可能(比如說通過嵌套的SQL查詢)執行WITH QUERY EXPANSION對來自FULLTEXT INDEX搜索運行的IN BOOLEAN MODE結果。是否可以在布爾模式下執行全文索引搜索並使用查詢擴展?

這是不行的,但也許這將有助於解釋什麼,我在尋找:

SELECT * FROM (SELECT * FROM indexed_table AS x WHERE MATCH(x.ind_col) 
AGAINST('(+word1 +word2 +word3) (+word1 +word4) (+word2 +word4)' IN BOOLEAN MODE))x 
WHERE MATCH(ind_col) AGAINST('word1 word2' WITH QUERY EXPANSION); 

澄清:我試圖使用第二MATCH..AGAINST(「帶查詢擴展「)的第一個MATCH..AGAINST(」在布爾模式「)的結果。

回答

1

您當然可以在單個WHERE子句中使用多個MATCH語句,只要符合您的要求就可以將它們組合在一起。

爲你做這個工作嗎?

SELECT * 
FROM indexed_table 
WHERE MATCH(ind_col) AGAINST('(+word1 +word2 +word3) (+word1 +word4) (+word2 +word4)' IN BOOLEAN MODE) 
AND MATCH(ind_col) AGAINST('word1 word2' WITH QUERY EXPANSION); 
+0

不幸的是,沒有。我想對第一個的結果運行第二個MATCH..AGAINST。我會更新問題的詳細信息。 – Khasm08 2012-01-30 18:52:32

相關問題