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. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?2. showpassword里的this 是什么意思?代表哪個元素3. mysql scripts提示 /usr/bin/perl: bad interpreter4. css3 - css怎么實現圖片環繞的效果5. html - vue項目中用到了elementUI問題6. 對mysql某個字段監控的功能7. java - spring boot @Autowired8. JavaScript事件9. css3 - border-bottom 的長度可否超過盒子的寬度呢?實現如下圖效果。(我的書下面的線)10. mysql優化 - mysql EXPLAIN之后怎么看結果進行優化 ?
