当前位置: 首页 > elasticsearch, 搜索 > 正文

elasticsearch moreLikeThis查询应用

1 星2 星3 星4 星5 星 (3 次投票, 评分: 4.67, 总分: 5)
Loading ... Loading ...
baidu_share

以前写过两篇篇文章关于elasticsearch moreLikeThis。

elasticsearch MoreLikeThisQueryBuilder实例


分布式搜索elasticsearch java client:使用More like this实现基于内容的推荐

elasticsearch MoreLikeThisQueryBuilder查询主要实现对一句话相似文章的查询。

在推荐系统中,通常要用到与一篇文章相似度高的一组文章。在这里我们要用到

MoreLikeThisRequestBuilder moreLikeThis=new MoreLikeThisRequestBuilder(client,"cms","news","id");
       moreLikeThis.setField("title","content")
       				.setSearchFrom(0)
       				.setSearchSize(5)
       				.execute()
       				.actionGet();

或:

 SearchResponse searchResponse = client.prepareMoreLikeThis("cms", "news", "id")
 
                        .setField("title","content")
 
                        .setSearchFrom(searchParam.getFrom())
                        .setSearchSize(searchParam.getSize())
                        .execute()
                        .actionGet();

获取文章:

Float usetime = searchResponse.getTookInMillis()/1000f;
        // 命中记录数
        Long hits = searchResponse.getHits().totalHits();
        for (SearchHit hit : searchResponse.getHits()) {
 
            // 打分
            Float score = hit.getScore();
            // 文章id
            Integer id = Integer.parseInt(hit.getSource().get("id").toString());
 
            String title = hit.getSource().get("title").toString();
 
            String content =   			hit.getSource().get("content").toString();
            // 文章更新时间
            Long updatetime = Long.parseLong(hit.getSource().get("updatetime").toString());
  }

本文固定链接: http://www.chepoo.com/elasticsearch-more-like-this-query-apply.html | IT技术精华网

elasticsearch moreLikeThis查询应用:等您坐沙发呢!

发表评论