2014-04-08 24 views
0

我有在MySQL 5.6全文索引Mysql全文索引給予完全匹配和部分相同的分數,爲什麼?

這種怪異的行爲

我試圖尋找一個患者數據庫,並通過與閩分數先拿到精確匹配則諧音分數,所以我不返回100000+結果只是一些建議,以防止重複成EHR類型的應用程序

的問題之一是準確和部分匹配具有相同的比分......

那是一個預期的行爲? 我有什麼選擇?

enter image description here

回答

2

你說,你必須精確匹配和諧音相同比分,但你的例子不具有任何精確匹配在裏面。 (「路易斯測試」!=「路易斯文本」)。它只是有各種部分匹配。

這是預期的行爲,因爲使用NATURAL LANGUAGE MODE的MATCH僅面向字。它不計分部分詞匹配 - 即類似的詞不計入相關性值。由於每個記錄中相同數量的詞匹配,並且每個記錄具有相同的總詞數,它們每個都獲得相同的相關性值(分數)。 「

」根據行中單詞的數量,該行中的唯一單詞的數量,集合中的單詞總數以及包含特定單詞的文檔(行)的數量來計算相關性字。」 - http://dev.mysql.com/doc/refman/5.6/en/fulltext-natural-language.html

如果您想對單詞模糊匹配,你應該看看可能的替代匹配方案這太問題: How do I do a fuzzy match of company names in MYSQL with PHP for auto-complete?

相關問題