| 
        
            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();
 }
 (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |