从solr中查询是否有相似的数据

public static void main(String[] args) {//测试solr中是否有相似的主题没有聚到一起
    SolrServer server1 = null;
    try {
        server1 = SolrHelper.getCloudSolrServer(SolrHelper.COLLECTION_CLUSTER_TOPICEVENT);
            String q = "DATASOURCEID:XZ AND PAGETYPE:4 AND DOCTYPE:2 AND CREATETIME:[20190730160000 TO 20190731000000]";
        List<Map<String, Object>> mapList = SolrHelper.queryVagueObject(server1, q, null, null, null,
                "CREATETIME", "DESC");
        System.out.println("solr查询条数:" + mapList.size());
        StringBuffer sbuf = new StringBuffer();
        for (Map<String, Object> map : mapList) {
            String title = map.get("TITLE").toString();
            int len = title.length();
            // String title0 = title.substring(0, len/5);
            // String title2 = title.substring(4*len/5);
            String title1 = title.substring(len / 5, (4 * len) / 5);
            LinkedHashMap<String, Double> tfidfcontent = null;
            LinkedHashMap<String, Double> tfidf = null;
            map.put("ISPASS", "true");
            for (Map<String, Object> mapsub : mapList) {
                if (mapsub.get("ISPASS") != null) continue;
                String t = mapsub.get("TITLE").toString();
                if (t.contains(title1)) {
                    if (map.get("ISPRINT") == null) {
                        sbuf.append("\n源key:" + map.get("id"));
                        sbuf.append("\n源TITLE:" + title);
                        sbuf.append("\n3/5源TITLE1:" + title1);
                        // sbuf.append("\n1/5源TITLE0:" + title0);
                        // sbuf.append("\n1/5源TITLE2:" + title2);
                        sbuf.append("\n源更新时间:" + map.get("UPDATETIME"));
                        sbuf.append("\n源创建时间:" + map.get("CREATETIME"));
                        sbuf.append("\n源发布时间:" + map.get("TIME"));
                        map.put("ISPRINT", "true");
                        tfidfcontent = (LinkedHashMap<String, Double>) JsonUtil.jsonToObj
                                (map.get("TFIDFCONTENT").toString(), LinkedHashMap.class);
                        tfidf = (LinkedHashMap<String, Double>) JsonUtil.jsonToObj
                                (map.get("TFIDF").toString(), LinkedHashMap.class);
                    }
                    LinkedHashMap<String, Double> subtfidfcontent = (LinkedHashMap<String, Double>) JsonUtil
                            .jsonToObj(mapsub.get("TFIDFCONTENT").toString(), LinkedHashMap.class);
                    LinkedHashMap<String, Double> subtfidf = (LinkedHashMap<String, Double>) JsonUtil.jsonToObj
                            (mapsub.get("TFIDF").toString(), LinkedHashMap.class);
                    sbuf.append("\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
                    sbuf.append("\n相似key:" + mapsub.get("id").toString());
                    //sbuf.append("\n相似TITLE:" + t);
                    sbuf.append("\n相似更新时间:" + mapsub.get("UPDATETIME"));
                     sbuf.append("\n相似创建时间:" + mapsub.get("CREATETIME"));
                    sbuf.append("\n相似发布时间:" + mapsub.get("TIME"));
                    sbuf.append("\n标题相识度:" + MathUtil.mapcosine(tfidf, subtfidf));
                    sbuf.append("\n内容相似度:" + MathUtil.mapcosine(tfidfcontent, subtfidfcontent));
                }
            }
            sbuf.append("\n###########################################################");
            System.out.println(sbuf);
            sbuf = new StringBuffer();
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        SolrHelper.free(server1);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值