欢迎投稿

今日深度:

Solr 补充,

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





www.htsjk.Com true http://www.htsjk.com/solr/37038.html NewsArticle Solr 补充, requestHandler中的terms调用solr.TermsComponent 用于统计某个字段中某些词出现的频率,按出现的频率降序排列,terms的参数有很多 http://10.0.0.8:8080/solr/terms?q=*%3A*wt=jsonindent=trueterms....
相关文章
    暂无相关文章
评论暂时关闭