window安装配置solr

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.2\server\solr  中就能看到 

分享图片

 

 

 分享图片

 

 

 

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();
}

SolrDocumentList docs = queryResponse.getResults(); try { solrServer.commit(); } catch (SolrServerException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return docs; }

相关文章
相关标签/搜索