簡體   English   中英

如何在多個字段中使用Mysql FULLTEXT

[英]How to use Mysql FULLTEXT in multiple field

我必須在多個字段中匹配文本。當前我在查詢中使用了Like。但是Like給出了太多結果。我已經閱讀了有關mysql FULLTEXT查詢的信息,並且嘗試在查詢中應用。但是我不知道它的工作原理或不。

舊查詢:

select * from table where field1 like 'search text' or field2 like 'search text'

全文查詢:

select * from table where MATCH(field1, field2) AGAINST ('search text' IN NATURAL LANGUAGE MODE )

我的問題是,是否可以使用全文匹配查詢在所有具有條件的字段中進行搜索?

默認情況下,mysql會像您的舊查詢一樣在MATCH(field1, field2)這兩個字段中進行搜索。

您所需要做的就是為兩個字段都創建全文索引。

CREATE FULLTEXT INDEX index_name
    ON tbl_name (field1, field2);

例如:

SELECT * FROM tbl_name WHERE MATCH(field1, field2) AGAINST ('word1 word2' IN BOOLEAN MODE );

您會發現類似:

SELECT * FROM tbl_name 
WHERE field1 LIKE '%word1%' OR field2 LIKE '%word1%' OR
      field1 LIKE '%word2%' OR field2 LIKE '%word2%'

這樣嘗試

where
name = 'search_key'
OR firstname ='search_key' 
OR lastname ='search_key'

可能會解決您的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM