簡體   English   中英

快速搜索相似的文本

[英]Quick search for a similar text

我支持一個公共博客,用戶可以在該博客上發布他們的帖子。 一些用戶有數千種不同的文本,他們可能不記得他們已經發布了一些文本。 我想幫助用戶不要發布重復項。

比較文本以確保完全相等是不好的-用戶可能會稍微更改文本,格式化或從其他程序復制文本等。因此,如果現有數據庫中存在相似的文本,則需要快速估算。

我的技術棧包括PHP,MySQL和Redis。 如何使用這些工具或其他工具解決我的問題?

PHP具有一個稱為likeliant_text的函數,可用於計算匹配字符的數量或相似性百分比。

http://php.net/manual/en/function.similar-text.php

然后,您可以檢查給定的文本是否在舊博客文章的一定范圍內。

如果您不想檢查文本的相似性,則可以嘗試根據原始博客或博客主題的標簽來標記帖子。 然后向用戶顯示他們使用類似標簽發布的帖子。

在全文索引列反對-您可以使用MySQL的比賽

舉個例子:

SELECT table.*, 
MATCH(userText) AGAINST ('this is user input') AS relevancy 
FROM table 
ORDER BY relevancy DESC;

因此,這將為您提供按相關性排序的結果。

不要忘記在userText列上添加全文本索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM