solr7.4.0本地搭建

 

1.Solr7要求Java8;

2.安装与配置:

1.下载Solr7.4;2:下载中文分词器IK;

步骤:

1:解压到硬盘任意目录[目录不能包含中文,空格等]本文以放在D:\

2.在D:\solr-7.4.0\bin按Shif+鼠标右键 进入 "在此处打开命令窗口"

3.在cmd中输入 solr start -p 端口号[-p 端口号:不指定则默认为8983]

 

 4.在浏览器中输入:http://localhost:8983/solr/#/

 

5.在D:\solr-7.4.0\server\solr创建需添加实例同名的文件夹;

6. 将D:\solr-7.4.0\server\solr\configsets\sample_techproducts_configs下的conf复制到D:\solr-7.4.0\server\solr\实例名下

点击Core Admin=>Add Core 添加实例:

7:IK分词配置:

1)下载解压后 把两个jar文件复制到solr-7.4.0\server\solr-webapp\webapp\WEB-INF\lib中

2)剩余的三个文件复制到solr-7.4.0\server\solr-webapp\webapp\WEB-INF\classes[classes目录需要新建]

3)在D:\solr-7.4\server\solr\OrderLine\conf\managed-schema文件中添加节点

1 <fieldType name="text_ik" class="solr.TextField"> 
2 <analyzer type="index" useSmart="false"
3 class="org.wltea.analyzer.lucene.IKAnalyzer" />
4 <analyzer type="query" useSmart="true"
5 class="org.wltea.analyzer.lucene.IKAnalyzer" />
6 </fieldType>

 

 4):选择配置的实例点击analysis 输入任意字段 点击Analyse Values 测试分词

 

 

 

 

 

 8.配置连接数据库:

1)在D:\solr-7.4.0\server\solr\OrderLine\conf下创建dataConfig.xml文件并将数据库连接Jar包 复制到 D:\solr-7.4.0\server\solr-webapp\webapp\WEB-INF\lib

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <dataConfig>
 3 <!-- 数据库连接 -->
 4 <dataSource password="xxxx" 
 5 user="xxx" 
 6 url="jdbc:oracle:thin:@127.0.0.1:1521/order" 
 7 driver="oracle.jdbc.driver.OracleDriver"/>
 8 <document pk="id" name="Orderline">
 9 <entity name="Orderline" 
10 query="select orderlineid id,orderid,spuid,skuid,title spuname,spec,to_char(lastmodifiedtime,'YYYY-MM-DD HH24:MI:SS')lastmodifiedtime from order_V1.Orderline" <!-- 需同步到Solr的数据 -->
11 deltaImportQuery="select orderlineid id,orderid,spuid,skuid,title spuname,spec,to_char(lastmodifiedtime,'YYYY-MM-DD HH24:MI:SS')lastmodifiedtime from order_V1.Orderline where orderlineid ='${dih.delta.id}'"
12 deltaQuery="select orderlineid id from order_V1.Orderline where lastmodifiedtime > '${dataimporter.last_index_time}'"
13 deletedPkQuery="select orderlineid id from order_V1.Orderline where asstatus =30">
14 <field column="id" name="id" />
15 <field column="orderid" name="orderid" />
16 <field column="spuid" name="spuid" />
17 <field column="skuid" name="skuid" />
18 <field column="title" name="spuname" />
19 <field column="spec" name="spec" />
20 <field column="lastmodifiedtime" name="lastmodifiedtime" />
21 </entity>
22 </document>
23 </dataConfig>

 

2):在D:\solr-7.4.0\server\solr\OrderLine\conf\solrconfig.xml添加

1   <requestHandler name="/dataimport" class="solr.DataImportHandler">  
2       <lst name="defaults">  
3             <str name="config">dataConfig.xml</str>  
4       </lst>  
5 </requestHandler>

3)在D:\solr-7.4.0\server\solr\OrderLine\conf\managed-schema添加以下节点

 <!-- 订单明细表的Field -->
   <!-- 订单明细id -->
   <!-- <field name="orderlineid" type="string" indexed="true" stored="true" required="true" multiValued="false" /> -->
   <!-- 订单id -->
   <field name="orderid" type="string" indexed="true" stored="true" />
   <!-- SPUID -->
   <field name="spuid" type="string" indexed="true" stored="true" />
   <!-- SKUID -->
   <field name="skuid" type="string" indexed="true" stored="true" />
   <!-- SPU名称 -->
   <field name="spuname" type="text_ik" indexed="true" stored="true" />
   <!-- SKU名称 -->
   <field name="spec" type="text_ik" indexed="true" stored="true" />
   <!-- 最后更新时间 -->
   <field name="lastmodifiedtime" type="string" indexed="false" stored="true" />
   
   <!-- 目标域 -->
   <field name="item_keywords" type="text_ik" indexed="true" stored="true" multiValued="true" />
   
   <!-- 将商品名称和卖点加入目标域 -->
    <copyField source="spuname" dest="item_keywords" /> 
   <copyField source="spec" dest="item_keywords"/>  

4)在管理页面点击Excute拉取数据

5):在Query点击Excute Query即可查询出数据

 

posted @ 2018-07-26 10:50  landun  阅读(386)  评论(0)    收藏  举报