过滤重复的主键
<p>过滤完全重复的主键</p>
<ol>
<li>遍历map表,提取文本对应的主键数量大于2的数据,会写数据表 map_number_20190812</li>
<li>遍历map_number_20190812中的主键,把主键基本信息回写到map_and_object_basic_20190812表</li>
<li>遍历map_and_object_basic_20190812
3.1 匹配name,summary中相等的,那么写入到map_and_object_basic_20190812_duplic表
3.2 如果不相等,那么两条summary包含在50%以上,记录到重复表中
3.2.1 比较相邻的两条数据,如果name一样,用相似算法,比较相邻两条数据summary相似度,如果相似度在50%以上,则写入表中</li>
</ol>
<p>获取同一个name的summary相似度高的主键</p>
<ol>
<li>遍历map_and_object_basic_20190812</li>
<li>提取相邻的name一样的数据,然后根据summary长度进行由长到短排序</li>
<li>一次循环计两两数据的相似度在50%以上的数据,写入指定表中map_and_object_basic_20190812_similarity
可能会出现 A B C D 四条数据,但是会出现AB,BC,BD,CD这种相似的组合类型
如果出现多个组合,保证同一个名字和同一个主键只写入一次数据表中。</li>
</ol>
<p>删除数据</p>
<ol>
<li>遍历map_and_object_basic_20190812_duplic表</li>
<li>找到相邻name值一样的数据</li>
<li>然后判断相似度是否一一样</li>
<li>如果一样 随机选择一个对象作为主对象,其他对象作为被合并对象
4.1 进行合并对象,
4.2 将被合并对象的主键进行标记is_delete=0</li>
<li>遍历map_and_object_basic_20190812_duplic表,把is_delete=0的主键删除</li>
</ol>
<p>相似度不一样删除(循环执行)</p>
<ol>
<li>遍历map_and_object_basic_20190812_similarity,</li>
<li>把两两相似度在70%以上的,把summary作为主,短作为合并待合并对象</li>
<li>进行合并对象。</li>
<li>将被合并对象的主键进行标记is_delete=0</li>
<li>遍历遍历map_and_object_basic_20190812_similarity表,把is_delete=0的主键删除</li>
</ol>
<p>相似度不一样删除</p>
<ol>
<li>人工识别相似度在40-70%,标记主对象,和待合并对象</li>
<li>程序执行合并和删除操作</li>
</ol>