Solr 补充

requestHandler中的terms调用solr.TermsComponent用于统计某个字段中某些词出现的频率,按出现的频率降序排列,terms的参数有很多

http://10.0.0.8:8080/solr/terms?q=*%3A*&wt=json&indent=true&terms.fl=PRODUCT_NAME&terms.mincount=1500

groupby分组,根据某个字段进行分组

http://localhost:8080/solr/select?q=*:*&wt=json&indent=true&group=true&group.field=PRODUCT_NAME&group.limit=0

dataconfig.xml需要的jar包apache-solr-dataimporthandler-4.0.0.jar,apache-solr-dataimporthandler-extras-4.0.0.jar,apache-solr-dataimportscheduler-1.1.jar(增量导入使用)

dataconfig.xml中的pk="ID"区分大小写,所以必须一致

查看导入状态的命令http://localhost:8080/solr/core0/dataimport?command=status

处理CLOB字段column 必须大写

DIH内存溢出错误,在tomcat\bin\startup.bat 加入SET JAVA_OPTS=-Xms128m -Xmx1024m 配置 这里设置的是1024M,根据情况可以适量增大

自动全导入和自动增量导入

利用apache-solr-dataimportscheduler-1.0.jar包完成此功能

修改solr.warWEB-INF/web.xml, servlet节点前面增加:

<listener>
<listener-class>
org.apache.solr.handler.dataimport.scheduler.ApplicationListener
</listener-class>
</listener>

apache-solr-dataimportscheduler-.jar 中 dataimport.properties 取出并根据实际情况修改,然后放到 solr.home/conf (不是solr.home/core/conf) 目录下面

类型是date的字段

下面的配置可以自动添加当前时间到timestamp字段,这是按照格林威日时间记录的,我们在东8区

<field name=”timestamp” type=”date” indexed=”true” stored=”true” default=”NOW” multiValued=”false”/>

下面这样配置记录的就是北京时间

<field name=”timestamp” type=”date” indexed=”true” stored=”true” default=”NOW+8HOUR” multiValued=”false”/>

顺便说一下,用tdate可以加快范围查找速度

<field name=”timestamp” type=”tdate” indexed=”true” stored=”true” default=”NOW+8HOUR” multiValued=”false”/>

对匹配的词进行高亮

指定高亮显示的field:http://localhost:8983/solr/select?q=name:book&hl=true&hl.fl=name,description

指定高亮的标签:http://localhost:8983/solr/select?q=name:book&hl=true&hl.simple.pre=<b>&hl.simple.post=</b>

高亮长文本并获得好的性能:http://localhost:8983/solr/select?q=name:book&hl=true&hl.useFastVectorHighlighter=true

对某些field按照函数结果进行排序http://localhost:8983/solr/select?q=name:company&sort=dist(2,geoX,geoY,13,13)+asc

按照发音查询自定义忽略的词语对查询结果计算统计检查拼写错误:参考地址http://blog.csdn.net/zhangshuliai/article/details/8023792

queryResultWindowSize:一次查询中存储最多的doc的id数目。

queryResultMaxDocsCached:一次查询中存储最多的doc数目

预热查询,在solr启动后放入缓存:

提交后的查询预热

分片部署: 指定多个片:http://localhost:8983/solr/select/?q=*:*&shards=localhost:8983/solr,localhost:8984/solr

缓存查询结果页面,相同的查询输入在一小时内会直接返回而不进行查询

<requestDispatcher handleSelect="true">  
    <httpCaching lastModifiedFrom="openTime" etagSeed="Solr">  
    <cacheControl>max-age=3600, public</cacheControl>  
    </httpCaching>  
</requestDispatcher>  
改进facet性能,查询的时候指定缓存:http://localhost:8983/solr/select/?

q=company&facet=true&facet.field=facetCity&facet.field=facetState&f.facetCity.facet.method=enum&f.facetState.facet.method=enum

Data Import Handler加快建立索引,1分钟提交一次和50000个文档提交一次

<updateHandler class="solr.DirectUpdateHandler2">  
   <autoCommit>  
     <maxTime>60000</maxTime>  
   </autoCommit>  
</updateHandler>  
<updateHandler class="solr.DirectUpdateHandler2">  
   <autoCommit>  
     <maxDocs>50000</maxDocs>  
   </autoCommit>  
</updateHandler> 
尽快返回一定数目的文档,100毫秒要求返回:http://localhost:8983/solr/select?q=financial report& timeAllowed=100

参考链接 http://blog.csdn.net/zhangshuliai/article/details/8021505





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值