配置solr4.10.0和中文分词IKAnalyzer

全文索引服务solr搭建。公司最近要用到。我又是个java小白。做环境的什么的不再行。就此几下操作。

大部分是看官方提供的reference.pdf来做的,也google了不少。公司还有个大哥指点。。。。笨的可以。

环境如下

OS: centos6.5

java环境: jdk1.7.0_51

tomcat版本: apache-tomcat-7.0.55

solr版本: solr-4.10.0

中文分词插件: IKAnalyzer2012FF_u1

另需准备mysql-connector-java-5.1.30.jar

配置好java环境和tomcat

注意把path.to.*替换为实际环境中对应的目录

解压solr-4.10.0.tgz同时部署tomcat webapps

cp /path.to.solr/example/webapps/solr.war /path.to.tomcat/webapps

解包solr.war

自己解包或者运行一次tomcat也可以解包

复制依赖的包到WEB-INF/lib中
cp /path.to.solr/dist/*.jar /path.to.tomcat/webapps/solr/WEB-INF/lib
cp /path.to.solr/example/lib/ext/*.jar /path.to.tomcat/webappssolr/WEB-INF/lib

//这是个偷懒行为。不知到有什么害处。

复制solr.home出来便于管理

cp /path.to.solr/example/solr /path.to.solr.home -av

在/path.to.tomcat/webapps/solr/WEB-INF/web.xml中加入

    <env-entry>
        <env-entry-name>solr/home</env-entry-name>
        <env-entry-value>/path.to.solr.home</env-entry-value>
        <env-entry-type>java.lang.String</env-entry-type>
     </env-entry>

注意替换/path.to.solr.home

切换到/path.to.solr.home

cd /path.to.solr.home
mkdir collection1/mysql

写入collection1/mysql/db1.xml

vim collection1/mysql/db1.xml

加入

<dataConfig>    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://10.9.0.10:3306/shopnc" user="root" password="passwd"/>
    <document>
        <entity name="goods" transformer="HTMLStripTransformer"
               query="select goods_id,goods_name,goods_spec,goods_jingle from shopnc_goods" pk="goods_id">
                <field column="goods_id" name="goods_id"/>
                <field column="goods_name" name="goods_name" />
                <field column="goods_jingle" name="goods_jingle" />
                <field column="goods_spec" name="goods_spec" />
        </entity>
    </document>
</dataConfig>

这个不解释

修改collection1/conf/solrconfig.xml文件

vim collection1/conf/solrconfig.xml

注释掉以下几项

<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" />

  <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" />

  <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" />

  <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
  <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />

因为solr.home是复制出来的,这些相对路径都是错的。

并在config标签下加入

  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
       <str name="config">../mysql/db1.xml</str>
    </lst>
  </requestHandler>

vim collection1/conf/solrconfig.xml

添加以下内容,要跟其他field标签统一级别

   <!-- 添加需要索引的字段 -->
   <field name="goods_id" type="string" indexed="true" stored="true" required="true" />
   <field name="goods_name" type="string" indexed="true" stored="true"/>
   <field name="goods_jingle" type="string" indexed="true" stored="true"/>
   <field name="goods_spec" type="string" indexed="true" stored="true"/>
   <!-- 添加需要索引的字段 -->

修改,把id改为表的索引列名 我的是goods_id

<uniqueKey>id</uniqueKey>

并注意 若表中没有id一列 要把原来的

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

删掉 ,或者把required="true"这项去掉。

重新加载/solr或者重启tomcat

看看http://localhost:8080/solr

在看看数据库链接 选择collection1 =>data import=>excute

Processed:
20

这里代表solr录入了数据

若为0就去logging哪里看看什么情况。

加入中文分词

解包IK Analyzer 2012FF_hf1.zip

复制jar包到/path.to.tomcat/webapps/solr/WEB-INF/lib中

cp IKAnalyzer2012FF_u1.jar /path.to.tomcat/webapps/solr/WEB-INF/lib

创建文件夹 并复制词典到solr/WEB-INF/classes

mkdir /path.to.tomcat/webapps/solr/WEB-INF/classes

cp IKAnalyzer.cfg.xml  stopword.dic /path.to.tomcat/webapps/solr/WEB-INF/classes

要用其他词典的自己google吧。

在/path.to.solr.home/collection1/conf/schema.xml的schema标签结束之前加入以下内容

    <!-- 自定义添加IK Analyzer 分词插件-->
<fieldType name="text" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

重新加载solr  试试分词插件。Field/Type中选择text和上一步中配置的name一样就行。

并从/path.to.solr.home/collection1/conf/solrconfig.xml上做一次修改

vim /path.to.solr.home/collection1/conf/solrconfig.xml

   <!-- 添加需要索引的字段 -->
   <field name="goods_id" type="string" indexed="true" stored="true" required="true" />
   <field name="goods_name" type="string" indexed="true" stored="true"/>
   <field name="goods_jingle" type="string" indexed="true" stored="true"/>
   <field name="goods_spec" type="string" indexed="true" stored="true"/>

除了primary以外都把type="string"改为type="text"

如果出现设么问题在logging中都会有提示。

时间: 2024-08-05 23:41:07

配置solr4.10.0和中文分词IKAnalyzer的相关文章

Solr4.10.4 加中文分词

ik分词插件下载地址: https://download.csdn.net/download/u014453536/9587721 接上一教程,这个教程如何配置中文ik分词 检查schema的管理模式 配置成经典模式 <!-- 经典模式 --> <schemaFactory class="solr.ClassicIndexSchemaFactory"/> <!--修改节点 updateRequestProcessorChain--> <upda

Solr6.5配置中文分词IKAnalyzer和拼音分词pinyinAnalyzer (二)

之前在 Solr6.5在Centos6上的安装与配置 (一) 一文中介绍了solr6.5的安装.这篇文章主要介绍创建Solr的Core并配置中文IKAnalyzer分词和拼音检索. 一.创建Core: 1.首先在solrhome(solrhome的路径和配置见Solr6.5在Centos6上的安装与配置 (一)中solr的web.xml)中创建mycore目录; [[email protected] down]# [[email protected] down]# mkdir /down/apa

在Solr中配置中文分词IKAnalyzer

李克华 云计算高级群: 292870151 交流:Hadoop.NoSQL.分布式.lucene.solr.nutch 在Solr中配置中文分词IKAnalyzer 1.在配置文件schema.xml(位置{SOLR_HOME}/config/下),配置信息如下: <!-- IKAnalyzer 中文分词-->     <fieldType name="text_ik" class="solr.TextField">         <

lucene3.0+版本中文分词测试+搜索结果+创建索引测试

lucene3.0+版本中文分词测试+搜索结果+创建索引测试 import java.io.File; import java.io.IOException; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.tokenattributes.

windows下配置solr4.6.0服务器

solr需要的环境 :JDK.apache-tomcat.solr 本人所用的配置:papche-tomcat-7.0.68 和solr4.6.0 1.下载solr-4.6.0, 2.解压出solr-4.6.0, 3.复制solr-4.6.0\example\webapps中的solr.war文件到tomcat安装目录中的webapps文件夹下 4.运行tomcat.(忽略怎么运行tomcat),tomcat会自动解压solr.war文件. 5.删除solr.war文件.(不然每次启动tomca

2.Linux环境下配置Solr4.10.3

1.准备阶段 操作系统:CentOS 6.8 安装包:/home/test solr-4.10.3.tgz.tar IK Analyzer 2012FF_hf1.zip jdk-8u121-linux-i586.tar.gz apache-tomcat-6.0.51.tar.gz 2.jdk和tomcat安装:略3.安装solr (1)解压solrtar -zxvf solr-4.10.3.tgz.tar -C /usr/local (2) solr.war copy到tomcat下cp /us

【solr】solr5.0整合中文分词器

1.solr自带的分词器远远满足不了中文分词的需求,经查使用最多的分词器是solr是mmseg4j分词器,具体整合大家可以参考 https://github.com/zhuomingliang/mmseg4j 一定要注意版本 2.将这两个包直接拷贝到tomcat下的solr/lib中 3.在solr/java里新建dic目录将词库拷贝进去 4.直接在浏览器http://127.0.0.1:8080/solr即可如下分词结果 ok,分词整合完毕!

solr8.0 ik中文分词器的简单配置(二)

下载ik分词器,由于是solr8.0,一些ik分词器版本可能不兼容,以下是个人亲测可行的版本 链接:https://pan.baidu.com/s/1_Va-9af-jMcqepGQ9nWo3Q 提取码:0a3y 然后将解压出来的两个jar包放到以下路径: 其它的三个文件放到以下路径: 如果没有classes文件夹就创建一个 然后进行ik分词器的配置,编辑以下路径的managed-schema文件 将以下配置放到后边 <!-- ik分词器 --> <fieldType name=&quo

solr 5.5.1安装并配置中文分词IKAnalyzer

http://www.360doc.com/content/16/0623/17/5131531_570184594.shtml —————————————————————————————————————————————————————————— https://github.com/EugenePig/ik-analyzer-solr5