我有一个MySQL DB和一个Solr实例,它是MySQL DB的精确副本。
我们有很多重复的文本(或类似的文字超过80%)。这些文本需要从现在开始捆绑。在PHP中,我知道有很好的函数来计算这些模拟性。
我的问题如下:
我如何智能(尽可能快地阅读)将每个新文本与数据库中的现有文本进行比较?我不认为从DB / Solr读取200.000条记录来比较一个新项目,以及接下来的事情,这是一个好习惯。
答案 0 :(得分:2)
您可以使用SOLR Dedupe
对于类似的文档检测,您必须将signatureClass设置为TextProfileSignature
然而,这是一个非常模糊的算法,并没有为您提供请求“80%相似”的选项。说实话我甚至想不出一种方式来说这两个文件是“80%相似”它是我想是通过人类感知在现场制作的统计数据之一。
如果您要比较的文本相当长,那么TextProfileSignature将会产生很好的效果。
答案 1 :(得分:0)
您可以为MySQL安装MySQL plugin实现Levenshtein distance algorithm并让数据库进行比较。