mysql - 兩個全文索引的字段能否并在一起查詢
問題描述
字段:title,article,都是全文索引。
查詢關鍵詞:key1,key2,key3。
SELECT * FROM [表名] WHERE MATCH(article) AGAINST(’key1,key2,key3’);針對一個全文檢索的字段是可行的
有沒有這種:
SELECT * FROM [表名] WHERE MATCH(title,article) AGAINST(’key1,key2,key3’);
即同時在title+abstract中查找key1,key2,key3。但錯誤提示:Can’t find FULLTEXT index matching the column list
有沒有好辦法?
問題解答
回答1:alter table aws_articles add fulltext(title,abstract);就ok了,建立聯合索引,單獨建立是不行的
回答2:MySQL哪個版本喲?全文搜索支持中文了嗎?
回答3:如果是英文字段,如@haixia9060 說的,可新建索引后查詢
對三個字段新建索引
ALTER TABLE articles ADD FULLTEXT content_title_keywords_ndx (content,title,keywords);
查詢
match(content,title,keywords) against (’cats’ in boolean mode)
MySQL默認只能處理英文/數字類型的;
如果是是中文字段,應按流程(Document->Token->Term->Index)維護倒排索引;也有將MySQL字段指定Analyzer自動維護索引,實時同步到Solr中進行全文索引的做法;
相關文章:
1. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題2. docker鏡像push報錯3. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失敗!4. 關于docker下的nginx壓力測試5. dockerfile - [docker build image失敗- npm install]6. angular.js - angular內容過長展開收起效果7. python - pyqt多線程問題實在不是很明白。。求解。。8. python中def定義的函數加括號和不加括號的區別?9. 【python小白】 問關于之初始化一次對象的問題10. python - (初學者)代碼運行不起來,求指導,謝謝!
