新闻全文检索服务
1.需要索引的字段
客户端ID info_classify.app_id
客户端名 app_info.name
栏目ID info_classify.columns_id
栏目名 columninfo.columnName
新闻内容 info_classify.content_text
创建时间 info_classify.create_time
ID info_classify.id
标签 info_classify.info_label
新闻ID info_classify.information_id
新闻标题 info_classify.list_title
列表显示类型 info_classify.list_view_type
上线时间 info_classify.online_time
状态 info_classify.status
新闻摘要 information.synopsis
2.搭建solr搜索引擎服务
3.编写数据同步服务
- 首次同步是全量同步,分页同步,每页1000条吧;
- 后续同步是最大ID同步,查询出索引中最大的ID,再查询比这个ID大的新闻进行索引
4.政务云cms接入搜索引擎,对新闻进行检索,操作按钮需要进一步确认
solr版本:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.5.0/solr-8.5.0.tgz
tomcat版本:https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.33/bin/apache-tomcat-9.0.33.tar.gz
solr文件地址:/var/www/file/images2/solr/solr-8.5.0/
程序地址:/usr/local/server/apache-tomcat-solr
solr-core-home:
/var/www/file/images2/solr/cores/info
/var/www/file/images2/solr/solr-8.5.0/server/solr/info/
5.配置solr-home
solr/home
/var/www/file/images2/solr/cores
java.lang.String
6.重启solr服务
/var/www/file/images2/solr/solr-8.5.0/bin/solr restart -force -m 4g
7.删除所有数据:
1)documents type 选择 XML
2)documents 输入下面语句
*:*
3)点击Submit Document 即可
8.100%匹配关键字查询
q : title:通远门
Raw Query Parameters : defType=edismax&mm=100%
9.设置smartcn分词器
9.1.复制自带的jar包
cp /var/www/file/images2/solr/solr-8.5.0/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-8.5.0.jar /var/www/file/images2/solr/solr-8.5.0/server/solr-webapp/webapp/WEB-INF/lib/
9.2.修改managed-schema ,配置字段类型
9.3.修改managed-schema ,指定字段类型
10.jar包启动脚本
nohup /usr/local/jdk1.8.0_181/bin/java \
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m \
-Xms1024m -Xmx1024m -Xmn256m -Xss256k \
-XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC \
-XX:+PrintGCDateStamps -XX:+PrintGCDetails \
-verbose:gc -Xloggc:/var/www/logs/cqliving-cloud-solr/gc.log \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/var/www/logs/cqliving-cloud-solr/oom.hprof \
-Dspring.profiles.active=prod \
-jar cqliving-cloud-solr-1.0.1-SNAPSHOT.jar 1>"/var/www/logs/cqliving-cloud-solr/console.log" 2>&1
11.配置IK分词器
1、下载ik分词器:https://github.com/magese/ik-analyzer-solr
com.github.magese
ik-analyzer
8.3.0
2、将下载下来的jar包复制到solr\WEB-INF\lib中
2.1、 将resources目录下的5个配置文件放入solr服务的Jetty或Tomcat的webapp/WEB-INF/classes/目录下
① IKAnalyzer.cfg.xml
② ext.dic
③ stopword.dic
④ ik.conf
⑤ dynamicdic.txt
注意:
- 修改dynamicdic.txt,同步修改ik.conf的lastupdate字段,可以设置为时间戳
- 修改词典后需要重建索引才能应用新词
3、配置Solr的managed-schema,添加ik分词器:
4、然后将field的type修改成text_ik
5、配置扩展词典
5.1、 扩展词 ext.dic
5.2、 停用词 stopword.dic
5.3、 配置文件
vim /WEB-INF/classes/IKAnalyzer.cfg.xml
IK Analyzer 扩展配置
true
ext.dic;
stopword.dic;