我有一個文本列,其中包含我想要更新的較長文本的部分片段。MySQL - 根據全文匹配現有的部分文本
例如,列可能包含:
這是一個長的文本字符串,續...
我需要更換上面:
這是一個很長的文本字符串,它包含更多的信息並且應該存儲在數據庫中。
我已經試過如下:
SELECT * FROM database.table WHERE MATCH (column) AGAINST ('This is a long text string that contains a lot more information and should be stored in the database.' IN NATURAL LANGUAGE MODE);
然而,返回包含在文本的長版的一個或多個單詞了許多成果。我如何找到現有的行只包含對較長文本的確切現有單詞?原始片段上的省略號是有意的,因爲較長的字符串先前被截斷。我也可以合理地期望截斷的文本列是唯一的,從而導致只有一個結果。
編輯
我簡單地採取較長的文本的第一個X字母開頭和匹配它針對現有的數據解決了這個。這是因爲每行的唯一性。
另一種方式就像%text%...或者可能讀取匹配函數生成的分數,然後按順序排列它們,然後將第一行作爲最接近的那一個匹配更多的詞。 –
嘗試過,但得分遠低於其他行:( – btl
只有您想要查找的值包含省略號'...'?如果是這樣,您可以:列如'%...%' – Degan