首页 > 其他 > 详细

使用solr的函数查询,并获取tf*idf值

时间:2015-03-31 19:55:23      阅读:473      评论:0      收藏:0      [点我收藏+]

1. 使用函数df(field,keyword) 和idf(field,keyword).

http://118.85.207.11:11100/solr/mobile/select?q={!func}product%28idf%28title,%E9%97%AE%E9%A2%98%29,tf%28title,%E9%97%AE%E9%A2%98%29%29&fl=title,score,product%28idf%28title,%E9%97%AE%E9%A2%98%29,tf%28title,%E9%97%AE%E9%A2%98%29%29&wt=json

技术分享

其中tf*idf的值和score的值是相同的.

也可以在solrj中实现:

public class AppTest 
{    
    @Test
    public void test1() throws SolrServerException{
        HttpSolrServer solrServer = new HttpSolrServer("http://118.85.207.11:11100/solr/mobile");
        String keyword = "问题";
        SolrQuery solrQuery  = new SolrQuery("q={!func}product(idf(title,$keyword),tf(title,$keyword)keyword="+keyword+")");
        solrQuery.addField("title,score");
        solrQuery.setRows(1);
        QueryResponse queryResponse = solrServer.query(solrQuery);
        System.out.println(queryResponse.toString());
    }
}

 

结果:

  {responseHeader={status=0,QTime=16,params={fl=title,score,q=q={!func}product(idf(title,$keyword),tf(title,$keyword)keyword=问题),wt=javabin,version=2,rows=1}},response={numFound=3,start=0,maxScore=0.078723446,docs=[SolrDocument{title=4G热点问题答疑—套餐篇, score=0.078723446}]},highlighting={10001={title=[4G热点<font color=‘#FF0000‘>问题</font>答疑—套餐篇],content=[4G热点<font color=‘#FF0000‘>问题</font>答疑—套餐篇]}}}

使用solr的函数查询,并获取tf*idf值

原文:http://www.cnblogs.com/a198720/p/4381670.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!