|
1、下载 solr安装包,我安装的是solr-7.7.2
2、解压,在bin目录 执行 solr? start 启动成功。
? ? ?Solr的默认端口号是8983?地址栏输入:http://localhost:8983/solr? 如下图所示
? ?? 
?
?
?
?
4、创建core?
? ? 启动命令行输入? ?solr create -c test 就成功创建了一个名为test的 core.
? ?在? D:solr-7.7.2serversolr? 中就能看到?

?
?
? 
?
?
?
5、配置core索引MySQL数据
? ?(1)把数据库的驱动包放在Solr安装根目录/server/solr-webapp/webapp/WEB-INF/lib下

?
?
?
?(2)把Solr安装根目录/dist文件夹下的? solr-dataimporthandler-x.x.x.jar? solr-dataimporthandler-extras-x.x.x.jar? 也放在Solr安装根目录/server/solr-webapp/webapp/WEB-INF/lib下
(3)Solr安装根目录/server/solr/核心/conf路径下添加文件data-config.xml
? ? ?? 
?
?
?
(4)
solr默认使用UTC时间,即与中国时差8小时,所以需要修改配置文件: Solr安装根目录/bin/solr.in.sh
SOLR_TIMEZONE=”UTC+8” 默认是注释掉的,找到SOLR_TIMEZONE修改后面的值为UTC+8 注意:如果单纯修改solr.in.sh文件没有作用,就修改和solr.in.sh同目录下的solr.cmd文件,修改其中的set SOLR_TIMEZONE=UTC为set SOLR_TIMEZONE=UTC+8 (5)修改solrconfig.xml,添加以下内容?
? ? ? 
?
?
? 
?
?
?
添加uuid是防止相同id重复的问题

?
?
?
注释掉以下的配置

?
?
?
?
(6)修改?managed-schema

?
?
?添加ik分词

?
?
?添加列 
?
?
?
type表示类型,如果需要分词查询则写对应分词库名,比如我用的上文配置的ik分词库,不需要查询的就用相对应类型; indexed表示需不需要建立索引,以便之后对这个field进行查询; stored表示需不需要存储这个field本身的内容,以便查询时直接从结果中获取该内容(数据量大时一般不建议存储或全部存储); multiValued表示一个field是否允许多个值,例一个用户的购买商品列表; required表示是否拒绝空值的字段
这样就 ok了
?
?java代码
?
public static SolrDocumentList queryContent(String q,Integer page,Integer row){ //1.创建连接,路径最后一定不要忘记加上我们的core,它会默认访问index.html SolrServer solrServer = new HttpSolrServer(solrUrl+core); //2.创建查询语句 SolrQuery query = new SolrQuery(); //3.设置查询条件 // query.setQuery("content:*活动*"); query.setQuery("title:*"+q+"* or content:*"+q+"*"); //分页 query.setStart(page == null ? 0 : page-1); query.setRows(row == null ? 20 : row); //4、执行查询 QueryResponse queryResponse = null; try { queryResponse = solrServer.query(query); } catch (SolrServerException e) { e.printStackTrace(); }
(编辑:广西网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|