solr6.3+IK+SmartChineseAnalyzer+oracle11G+DIH配置

solr6.3+IK+SmartChineseAnalyzer+oracle11G+DIH配置


本例使用solr6.3,并集成IK中文分词和solr6.3自带的智能中文分词,使用DMI从oracle11g导入搜索数据。DIH指solr自带的数据导入工具solr-dataimporthandler。
本例使用WINDOWS环境,linux配置类似。
本例直接使用solr作为服务器,网上大多文章是将solr部署于tomcat,是老的做法。

准备环境,安装JDK1.8 64位(solr6推荐使用64位java),并设置环境变量:JAVA_HOME和PATH

1、下载并解压solr6.3,本例中solr解压目录为:D:\solr-6.3.0
2、修改启动文件,设置时区为中国时区UTC+8,否则日志输出时间会晚8小时
编辑D:\solr-6.3.0\bin\solr.cmd文件
在文件开始部分增加:
set SOLR_TIMEZONE=”UTC+8”
3、准备solr服务程序并集成必要的JAR
solr服务程序位于D:\solr-6.3.0\server\solr-webapp\webapp,不需特殊处理。

  • 3.1集成ORACLE jdbc和中文分词包:

ik-analyzer-solr-6.0.jar 来源于https://github.com/cj96248/ik-analyzer-solr6,可自行编译打包
lucene-analyzers-smartcn-6.3.0.jar solr自带位于D:\solr-6.3.0\contrib\analysis-extras\lucene-libs
ojdbc6-11.2.0.1.0.jar 自行下载
复制以上文件到D:\solr-6.3.0\server\solr-webapp\webapp\WEB-INF\lib

  • 3.2集成DIH包:

solr-dataimporthandler-6.3.0.jar solr自带位于D:\solr-6.3.0\dist
solr-dataimporthandler-extras-6.3.0 solr自带位于D:\solr-6.3.0\dist
复制以上文件到D:\solr-6.3.0\server\solr-webapp\webapp\WEB-INF\lib

4、搜索索引数据配置

  • 4.1复制基础文件:

拷贝D:\solr-6.3.0\server\solr\configsets\basic_configs到D:\solr-6.3.0\server\solr
将basic_configs目录命名为自定的索引数据目录名称,如tdc

  • 4.2创建索引数据源:

在D:\solr-6.3.0\server\solr\tdc\conf目录创建数据源文件:db-data-config.xml,内容为:

<dataConfig>
<dataSource name="orcltest" type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@//192.168.1.17:1521/ORCL" user="orcltest" password="orcltest" />
<document>
    <entity dataSource="orcltest" name="TBTEST" query="select id,name,type_name,refer,create_time from TBTEST " 
        deltaImportQuery="select id,name,type_name,refer,create_time from TBTEST where to_char(create_time,'yyyy-mm-dd hh24:mi:ss') >'${dataimporter.last_index_time}'" 
        deltaQuery="select id,name,type_name,refer,create_time from TBTEST where to_char(create_time,'yyyy-mm-dd hh24:mi:ss') >'${dataimporter.last_index_time}'"
        >
        <field column="id" name="id"/>
        <field column="name" name="name"/>
        <field column="type_name" name="type_name"/>
        <field column="refer" name="refer"/>
        <field column="create_time" name="create_time" dateTimeFormat='yyyy-MM-dd HH:mm:ss' />

    </entity>

  </document>
</dataConfig>
  • 4.3设置DIH

编辑D:\solr-6.3.0\server\solr\tdc\conf\solrconfig.xml在Request Handlers部分增加DIH配置。

  <requestHandler name="/dataimport" class="solr.DataImportHandler">
    <lst name="defaults">
      <str name="config">db-data-config.xml</str>
    </lst>
  </requestHandler>
  • 4.4设置搜索字段及分词方式:

编辑D:\solr-6.3.0\server\solr\tdc\conf\managed-schema文件,完成搜索字段及分词方式配置。
注意:solr6以上是修改managed-schema文件,不必再创建schema.xml文件。

<field name="name" type="text_ik" indexed="true" stored="true" multiValued="false" />
<field name="type_name" type="text_ik" indexed="true" stored="true" multiValued="false" />
<field name="refer" type="text_smart" indexed="true" stored="true" multiValued="false" />
<field name="create_time" type="date" indexed="true" stored="true" />

<!--IK中文分词-->
<fieldType name="text_ik" class="solr.TextField">   
  <analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   
  <analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   
</fieldType>
<!--solr6.3自带的中文分词-->
<fieldType name="text_smart" class="solr.TextField" > 
  <analyzer type="index" class="org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer"/>   
  <analyzer type="query" class="org.apache.lucene.analysis.cn.smart.SmartChineseAnalyzer"/>   
</fieldType>

5、启动停止solr:
使用命令行,进入命令目录
cd D:\solr-6.3.0\bin
查看命令帮助
solr -help
启动solr,默认端口8983
solr start
停止全部solr服务
solr stop -all

6、使用solr控制台:
http://192.168.1.16:8983/solr
注意:默认的UI中core管理功能不可用,需要点击右上角Use original UI

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值