|
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热点问题答疑—套餐篇],content=[4G热点问题答疑—套餐篇]}}} |
|
|