「javasolr排序」java sort排序怎么用
本篇文章给大家谈谈javasolr排序,以及java sort排序怎么用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、在使用java操作solr的时候怎么设置wt?
- 2、Java开发电商网站,用户登录以后使用solr搜索的时候,用户收藏过的商品要排在首位!怎么实现?
- 3、怎么用java代码操作solr对数据库进行索引
- 4、solr自定义排序
- 5、用Java如何实现站内搜索
- 6、java怎么调用solr查询接口
在使用java操作solr的时候怎么设置wt?
SolrQuery solrQuery = new SolrQuery();
MapString,String map = new HashMapString,String();
map.put(FacetParams.FACET_DATE, "manufacturedate_dt");
map.put(FacetParams.FACET_DATE_START,"2004-01-01T00:00:00Z");
map.put(FacetParams.FACET_DATE_END,"2010-01-01T00:00:00Z");
map.put(FacetParams.FACET_DATE_GAP,"+1YEAR");
map.put("indent","on");
map.put("wt","xml");
map.put("hl.fl","name");
SolrParams params = new MapSolrParams(map);
solrQuery.add(params);
solrQuery.setFacet(true);
solrQuery.setFields("name,price,score");
solrQuery.setQuery("solr");
solrQuery.setSortField("price",SolrQuery.ORDER.asc);
solrQuery.setHighlight(true);
System.out.println(solrQuery.toString());
参照上面这段代码
Java开发电商网站,用户登录以后使用solr搜索的时候,用户收藏过的商品要排在首位!怎么实现?
添加一个字段,使用数字类型,表明是否被当前用户收藏。比如被当前用户收藏 =1,
没有收藏等于0
然后使用该字段排序,将被收藏过的记录放在最前面显示
可以是动态生成的,就是在sql中使用函数判断用户表和商品表的联查结果,如果用户收藏了该商品 则该字段返回数字1
怎么用java代码操作solr对数据库进行索引
SolrQuery solrQuery = new SolrQuery(); Map map = new HashMap(); map.put(FacetParams.FACET_DATE, "manufacturedate_dt"); map.put(FacetParams.FACET_DATE_START,"2004-01-01T00:00:00Z"); map.put(FacetParams.FACET_DATE_END,"2010-01-01...
solr自定义排序
缺省solr就是按照score desc进行排序的,至于为何你的查询结果和数据库不一样,那是因为solr和数据库的索引方式不同引起的,不知道你的schema怎么定义的,solr中主要根据doc中term出现的频率也叫TF(term frequency)来判断文档的价值,即如果一个单词在一个文档中出现的频率高则由于那些在很多不同文档中出现的单词的优先级。
用Java如何实现站内搜索
1,使用lucene
2. 使用solr
3. 使用sphinx
4. 低效率使用sql like
java怎么调用solr查询接口
solr官方网站
下面是一个例子:
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.ModifiableSolrParams;
import java.net.MalformedURLException;
public class Main {
public static void main(String[] args) throws MalformedURLException, SolrServerException {
SolrServer server = new CommonsHttpSolrServer("");
ModifiableSolrParams params = new ModifiableSolrParams();
// 查询关键词
params.set("q", "2010");
// 分页,,start=0就是从0开始,,rows=5当前返回5条记录,,,第二页就是变化start这个值为5就可以了。
params.set("start", 0);
params.set("rows", 5);
// 排序,,如果按照id 排序,,那么将score desc 改成 id desc(or asc)
params.set("sort", "score desc");
// 返回信息 * 为全部 这里是全部加上score,如果不加下面就不能使用score
params.set("fl", "*,score");
QueryResponse response = server.query(params);
// 搜索得到的结果数
System.out.println("Find:"+ response.getResults().getNumFound()+"\n\n");
// 输出结果
for(SolrDocument doc:response.getResults())
{
System.out.println("id: " + doc.getFieldValue("id").toString());
System.out.println("title: " + doc.getFieldValue("title").toString()+"\n");
}
}
}
javasolr排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java sort排序怎么用、javasolr排序的信息别忘了在本站进行查找喔。