![](/img/trans.png)
[英]PHP: How to use mysql fulltext search and handle fulltext search result
[英]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.