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 - JS new Date() 保存到 mongodb 中會早8個小時,我們這里是東八區,mongodb 保存的是格林尼治時間2. java - 判斷數據在數據庫中是否已存在.3. android百度地圖定位問題4. android - 圖片列表分組之后復用問題5. javascript - 關于圣杯布局的一點疑惑6. python - django models 為生成的html元素添加樣式。7. css - input間的間距和文字上下居中8. 為什么我寫的PHP不行9. android - 有數據要處理的時候如何使用rxJava進行異步處理數據10. 神仙姐姐講的真好!!!

網公網安備