solr (增量更新,排序,内容显示不完整)使用总结

solr (增量更新,排序,内容显示不完整)使用总结

从哪开始写呢?
先在这给大家拜个早年吧,哈哈哈。

用过一段时间了,把使用中遇到的问题总结一下;
1.查询时java代码中过滤查询,query.addFilterQuery()方法相当于检索页面的fq

SolrQuery query = new SolrQuery();
String q = "*:*";
if (!param.equals("")) {
     q = "title:" + param + "\ndoccont:" + param ;
 }
 //下面设置solr查询参数
query.set("q", q);// 参数q  查询所有
query.addFilterQuery("labelcode:" + firstLabel);

2.排序,sorts需要在配置文件中设置数字类型,这样就可以正确排序了

<fieldType name="text_int" class="solr.TrieIntField"></fieldType>
<field name="sorts" type="text_int" uninvertible="true" indexed="true" stored="true"/>

query.setSort("sorts", SolrQuery.ORDER.asc);

3.运算符简单实使用

	if (!startOffline_time.equals("") && !endOffline_time.equals("")) {
        query.addFilterQuery("offline_time:[" + startOffline_time + " TO " + endOffline_time + "]");
    } else if (!startOffline_time.equals("") && endOffline_time.equals("")) {
        query.addFilterQuery("offline_time:[" + startOffline_time + " TO *]");
    } else if (startOffline_time.equals("") && !endOffline_time.equals("")) {
        query.addFilterQuery("offline_time:[* TO " + endOffline_time + " ]");
    }

4.分页,直接代码吧

//设置分页参数
    try {
        int newpageno = Integer.parseInt(pageno);
        int newpagesize = Integer.parseInt(pagesize);
        query.setStart((newpageno - 1) * newpagesize);
        query.setRows(newpagesize);
    } catch (NumberFormatException e) {
        e.printStackTrace();
    }

5.设置高亮和内容显示不全问题。
query.setHighlightFragsize(100000);不设置这个,如果你需要显示的内容太多,会显示不全,默认长度是多少,我也忘记了,哈哈,设置了以后内容会全部显示了

	query.setHighlight(true);
    query.setHighlightFragsize(100000);
    query.addHighlightField("title");
    query.addHighlightField("doccont");
    query.setHighlightSimplePre("<span style='color:red'>");
    query.setHighlightSimplePost("</span>");

6.需要分页时,获得数据总数

	//获取返回结果
    SolrDocumentList resultList = response.getResults();
    //获得查询总数量
    int totlaNum = (int) resultList.getNumFound();

7.增量更新问题,开始用上面的old那个有问题,于是就改成了下面的new那个,syncCores需要增量更新的工程用 “,” 隔开

	#old
	#params=/dataimport?command\=full-import&clean\=false&commit\=true
	#new
	params=/dataimport?command=delta-import&clean=false&commit=true 
	
	#需要增量更新的工程
	syncCores=lvliang_zsk,lvliang_zsk_hotWord,lvliang_zsk_recommend,lvliang_zsk_label

用了挺长时间了,只能记得折磨多了。
感谢小伙伴耐心看完,有不对的地方欢迎指出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值