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.war中WEB-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数目
提交后的查询预热:
分片部署: 指定多个片: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