//創建表全文檢索顯示錯誤的結果
CREATE TABLE `TEST_FULL_TEXT_SEARCH`
(
`ID` INT NOT NULL AUTO_INCREMENT,
`TEST` VARCHAR(45) NULL,
PRIMARY KEY (`ID`),
FULLTEXT INDEX `FULL_TEXT` (`TEST` ASC)
)
ENGINE = MyISAM;
//插入一些記錄
INSERT INTO `TEST_FULL_TEXT_SEARCH`
SELECT 1, 'vikas kumar gupta' UNION ALL
SELECT 2, 'kratika gupta' UNION ALL
SELECT 3, 'kratika sharma' UNION ALL
SELECT 4, 'kratika vikas kumar gupta' UNION ALL
SELECT 5, 'kratika shukla' UNION ALL
SELECT 6, 'chetan kastwar' UNION ALL
SELECT 7, 'kratika kastwar' ;
//現在來選擇查詢
SELECT * FROM TEST_FULL_TEXT_SEARCH
WHERE MATCH(test)
AGAINST('kratika' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION);
//或
SELECT * FROM TEST_FULL_TEXT_SEARCH
WHERE MATCH(test)
AGAINST('kratika' WITH QUERY EXPANSION);
//輸出
1 vikas kumar gupta
4 kratika vikas kumar gupta
3 kratika sharma
5 kratika shukla
2 kratika gupta
- 爲什麼不選擇在結果 'kratika kastwar' 設置?
- 爲什麼 '維卡斯·庫馬爾古普塔' 的第一
//現在我們在布爾模式
SELECT * FROM TEST_FULL_TEXT_SEARCH
WHERE MATCH(test)
AGAINST('kratika' IN BOOLEAN MODE);
//輸出
2 kratika gupta
3 kratika sharma
4 kratika vikas kumar gupta
5 kratika shukla
7 kratika kastwar
- 爲什麼「kratika kastwar搜索' 在那兒?
//現在我們沒有查詢擴展布爾模式搜索
SELECT * FROM TEST_FULL_TEXT_SEARCH
WHERE MATCH(test)
AGAINST('kratika' IN NATURAL LANGUAGE MODE);
//輸出
No result found
請說明爲什麼它在列表中
不選擇 ' kratika kastwar'//編輯
爲什麼它顯示的是「維卡斯·庫馬爾古普塔」 IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION
或WITH QUERY EXPANSION
在第一級不kratika相關的結果嗎?
閱讀鏈接,'SELECT * FROM文章 WHERE MATCH(標題,正文) AGAINST( '數據庫',自然科學進展語言模式);'取得兩個結果,而'數據庫'不是50%的行在我的情況下是相同的kratika – vikas