`
anyhuayong
  • 浏览: 3018 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

solr环境配置、中文分词、数据库

阅读更多
一、配置solr环境

1、  下载solr  http://www.apache.org/dyn/closer.cgi/lucene/solr/

此处用的是3.5 解压到D盘D:/solr/apache-solr-3.5.0

2、修改tomcat conf/server.xml

  <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"URIEncoding="UTF-8" />

添加编码的配置 URIEncoding="UTF-8" (如不添加,中文检索时因为乱码搜索不到)

3、  配置solr

Tomcat  conf/Catalina/localhost下添加solr.xml

内容:

<Context docBase="D:/solr/apache-solr-3.5.0/dist/apache-solr-3.5.0.war" debug="0" crossContext="true" >

<Environment name="solr/home" type="java.lang.String" value="D:/solr/apache-solr-3.5.0/example/solr" override="true" />

</Context>

4、 启动tomcat  输入http://localhost:8080/solr/  出现欢迎界面表示成功





二、中文分词配置

1、  下载分词器: http://code.google.com/p/mmseg4j/

2、下载词库:http://code.google.com/p/mmseg4j/downloads/detail?name=data.zip&can=2&q

3、将解压后的mmseg4j-1.8.5目录下的mmseg4j-all-1.8.5.jar拷贝到Tomcat的webapps/solr/WEB-INF/lib目录下。

4、添加词库:在D:/solr/apache-solr-3.5.0/example/solr目录下新建dic文件夹,将解压后的data目录下的words.dic拷贝到D:/solr/apache-solr-3.5.0/example/solr/dic目录下。

5、  更改schema.xml(D:/solr/apache-solr-3.5.0/example/solr/conf/)文件,使分词器起到作用。

在schema.xml的<types>、<fields>和部分新增如下配置:

注:dicPath=" "是你的词库路径。

    <!–mmseg4j field types–>

       <fieldType name="textComplex" class="solr.TextField" positionIncrementGap="100" >

                  <analyzer>

                     <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="D:/solr/apache-solr-3.5.0/example/solr/dic"/>

                     <filter class="solr.LowerCaseFilterFactory"/>

           </analyzer>

       </fieldType>



     <fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" >

        <analyzer>

            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="D:/solr/apache-solr-3.5.0/example/solr/dic"/>

            <filter class="solr.LowerCaseFilterFactory"/>

        </analyzer>

     </fieldType>

   

     <fieldType name="textSimple" class="solr.TextField" positionIncrementGap="100" >

       <analyzer>

           <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="D:/solr/apache-solr-3.5.0/example/solr/dic"/>

           <filter class="solr.LowerCaseFilterFactory"/>

       </analyzer>

     </fieldType>



   <!– mmseg4j field –>

   <field name="simple" type="textSimple" indexed="true" stored="true" multiValued="true"/>

   <field name="complex" type="textComplex" indexed="true" stored="true" multiValued="true"/>

   <field name="text_mmseg4j" type="textMaxWord" indexed="true" stored="true" multiValued="true"/>



  <!– mmseg4j copyField –>

   <copyField source="simple" dest="text_mmseg4j"/>

   <copyField source="complex" dest="text_mmseg4j"/>



重启你的tomcat。

访问:http://localhost:8080/solr/admin/analysis.jsp可以看 mmseg4j 的分词效果。在 Field 的下拉菜单选择 name,然后在应用输入 complex。分词的结果,如下图:



好了,可以运行起来了,那就添加个文档试下,在 解压后的D:/solr/apache-solr-3.5.0/example/exampledocs目录下创建 mmseg4j-solr-demo-doc.xml 文档,内容如下:

  <add>

      <doc>

          <field name="id">1</field>

          <field name="text">高效、灵活的缓存功能,垂直搜索功能。</field>

      </doc>

      <doc>

          <field name="id">2</field>

          <field name="text"> Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。</field>

      </doc>

      <doc>

          <field name="id">3</field>

          <field name="text"> 独立的企业级搜索应用服务器</field>

      </doc>

  </add>

注意:使用的字段name必须在solr的配置文件schem.xml增加

       下(id、title)一样

然后在 cmd 下运行 post.jar,如下:

D:\solr\apache-solr-3.5.0\example\exampledocs>java -Durl=http://localhost:8080/

solr/update -Dcommit=yes -jar post.jar mmseg4j-solr-demo-doc.xml



注意:mmseg4j-solr-demo-doc.xml 要是 UTF-8 格式,不然提交后会乱码。还有在查询中文时需要把tomcat设置成URIEncoding="UTF-8";

查看是否有数据,访问:http://localhost:8080/solr/admin/ 在Query String: 中输入“高性能”

显示如下图所示:





三、Solr将数据库做成索引数据源(以mysql为例)

1、  在solrconfig.xml中配置导入数据功能(D:\solr\apache-solr-3.5.0\example\solr\conf下)

     <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">

     <lst name="defaults">

       <str name="config">D:\solr\apache-solr-3.5.0\example\solr\conf\db\db-data-config.xml</str>

     </lst>

  </requestHandler>

2、  添加一个数据源db-data-config.xml (D:\solr\apache-solr-3.5.0\example\solr\conf\db下)

    <dataConfig>

         <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/solr" user="root" password="root"/>

             <document name="messages">

               <entity name="user" transformer="ClobTransformer" query="select * from t_user">

             <field column="id" name="id" />

                      <field column="name" name="name"/>

                      <field column="title" name="title"/>

         </entity>

     </document>

</dataConfig>

CREATE TABLE t_user 



   id         VARCHAR(255) PRIMARY KEY, 

   name       VARCHAR(10) NOT NULL, 

   title        VARCHAR(10)

);

3、放入mysql驱动包  (Tomcat的webapps/solr/WEB-INF/lib目录下)

4、创建索引

   http://localhost:8080/solr/dataimport?command=full-import

5、  查看是否成功,访问:http://localhost:8080/solr/admin/ 在Query String: 中输入“sunshan”、“孙闪”

如下图:





注:保证与数据库连接正确




四、Solr多核(MultiCore)配置

1、  拷贝multicore(D:\solr\apache-solr-3.5.0\example下)下的core0、core1、exampledocs到solr(D:\solr\apache-solr-3.5.0\example\solr下)目录下

2、  更改solr.xml(D:\solr\apache-solr-3.5.0\example\solr下)配置

添加:

<core name="core0" instanceDir="core0" dataDir="D:/solr/apache-solr-3.5.0/example/solr/core0/data"/>

<core name="core1" instanceDir="core1" dataDir="D:/solr/apache-solr-3.5.0/example/solr/core1/data"/>

配置后:

   <cores adminPath="/admin/cores">

    <core name="collection1" instanceDir="." />

<core name="core0" instanceDir="core0" dataDir="D:/solr/apache-solr-3.5.0/example/solr/core0/data"/>

    <core name="core1" instanceDir="core1" dataDir="D:/solr/apache-solr-3.5.0/example/solr/core1/data"/>

  </cores>

3、  启动tomcat 访问:

http://localhost:8080/solr/







五、多核数据库索引:

同上配置

注:出现错误Error loading class ‘org.apache.solr.handler.dataimport.DataImportHandler’



需配置(solrconfig.xml里)

  <!– start –>

  <lib dir="D:/solr/apache-solr-3.5.0/contrib/extraction/lib" />

  <lib dir="D:/solr/apache-solr-3.5.0/dist/" regex="apache-solr-cell-\d.*\.jar" />

  <lib dir="D:/solr/apache-solr-3.5.0/dist/" regex="apache-solr-clustering-\d.*\.jar" />

  <lib dir="D:/solr/apache-solr-3.5.0/dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />

  <lib dir="D:/solr/apache-solr-3.3.0/contrib/clustering/lib/" />

  <lib dir="/total/crap/dir/ignored" />



  <!– end –>

dir注意路径

重启tomcat

创建索引:http://localhost:8080/solr/core1/dataimport?command=full-import

http://localhost:8080/solr/dataimport?command=full-import 这 url 告诉 solr 做全量索引,做索引中会删除所有数据。当然也可以用 clean=false 参数来告诉它不删除,但也会删除相同id的(在 scheam.xml 的uniqueKey 声明的)。http://localhost:8080/solr/dataimport?command=full-import&clean=false

批量导入command=delta-import&commit=y

重新装载配置文件command=reload-config

终止导入command=abort
分享到:
评论

相关推荐

    solr4.7+中文分词器IK Analyzer 2012FF_hf1

    1. **环境配置**:如 Java SDK 的安装,以及系统路径的设置。 2. **下载与解压**:指导用户如何下载 Solr 4.7 和 IK Analyzer 2012FF_hf1,并将它们解压到相应目录。 3. **配置修改**:说明如何在 Solr 的配置文件中...

    Solr3.2 + Paoding中文分词的搜索引擎

    Apache Solr是基于Lucene的开源搜索服务器,提供了更高级别的API和配置选项,而Paoding则是一款专门针对中文的高性能分词工具,能准确地对中文文本进行切词,提升搜索的精确度。 首先,Apache Solr 3.2是Solr的一个...

    solr分词器使用手册

    ### Solr分词器使用手册知识点详解 #### 一、Solr概述 - **定义**:Solr是一款基于Java开发的、由Apache基金会维护的顶级开源项目,它...通过合理配置分词器及其他组件,Solr可以有效地满足各种复杂场景下的搜索需求。

    solr运行配置与数据库数据导入到solr

    本文主要介绍如何配置Solr以便在Tomcat环境下运行,并从数据库中导入数据。 首先,我们需要准备Solr的运行环境。这里我们使用的是Tomcat作为Solr的容器。以下是步骤: 1. **安装Solr和Tomcat**:确保已经安装了...

    solr6.0+mysql+IK分词集成

    1. **安装与配置**:Solr6.0的安装通常涉及下载最新版本的Solr,解压后配置服务器环境,包括设置JDK路径,修改`solr.in.sh`或`solr.in.cmd`文件。启动Solr时,可以使用`bin/solr start -e cloud`命令创建一个简单的...

    solr4.10.0部署文件全集(包括分词器、mysql的jar包)

    总的来说,这个压缩包提供了一套完整的Solr 4.10.0部署环境,并结合了中文分词和MySQL数据库的支持,适合用于搭建、测试或升级基于Solr的搜索解决方案。在实际应用中,需要根据项目需求进行适当的配置和定制。

    solr7.4配置tomcat8.5,可连接mysql8.0.11,集成ik分词器

    本配置教程将详细介绍如何在Tomcat 8.5上部署Solr 7.4,并连接到MySQL 8.0.11数据库,同时集成IK分词器,提升中文搜索体验。 首先,确保你已安装Java Development Kit (JDK) 8或以上版本,因为Tomcat和Solr都需要...

    solr7.4.0入门讲解,实时增量同步等

    solr入门环境搭建,sorl ik分词器分词,solr数据库数据导入,solr同步等技术实现及配置.版本solr7.4.0 + ikanalyzer-solr5 + solr-dataimport-scheduler

    solr课件还有安装原件

    Solr的学习和实践不仅需要理解其核心原理,还要掌握如何与数据库交互、如何优化查询性能,以及如何根据实际需求选择和配置合适的分词器。通过深入学习和实践,你可以搭建出强大的搜索引擎,为企业或项目提供高效的...

    linux环境下 使用的solr

    Linux环境下使用的Solr是一款强大的全文搜索引擎,主要设计用于处理大量数据的快速检索。Solr是Apache Lucene项目的一部分...无论是同步数据库、处理中文分词,还是构建分布式集群,Solr都能提供灵活且高效的解决方案。

    solr所需要配置的资源.zip

    4. `data-config.xml`(可选):用于配置数据驱动的索引(Data Import Handler, DIH),允许Solr从外部数据源(如数据库)导入数据。 5. `lib`目录:可以放置自定义的JAR文件,比如IK分词器的jar,这些库会被Solr在...

    solr搜索服务器安装配置

    本文详细介绍了Solr搜索服务器的安装配置过程,从环境搭建到具体配置步骤进行了全面的讲解,并提供了常见的问题解决方法。通过本文的学习,读者应该能够掌握如何成功地安装和配置Solr搜索服务器,从而为自己的项目...

    solr配置中文解析器和将数据导入solr索引库时所需的jar包

    在处理中文数据时,由于中文的复杂性,需要特别配置中文解析器以正确地分词和理解文本内容。本篇文章将深入探讨如何在Solr中配置中文解析器以及在导入数据到Solr索引库时所需关注的jar包。 首先,让我们来了解Solr...

    solr-8.5.2.zip

    这个压缩包包含了对 MySQL 数据库的集成配置,以及针对中文分词的支持,还配置了 Solr 的安全登录功能,使得系统更加安全可靠。 首先,让我们深入了解一下 Solr 8.5.2 版本的关键特性: 1. **索引和搜索性能提升**...

    图解Solr5.3.1与MySQL配置【原创】

    在本文中,我们将详细介绍如何配置Solr 5.3.1与MySQL数据库的集成,以便实现高效的数据搜索功能。Solr是一款高性能、可伸缩的企业级搜索引擎,它是Apache Lucene的分布式应用实例,广泛应用于各种需要全文搜索的应用...

    solr服务器的搭建与配置实例

    **步骤9:** 将数据库驱动包以及中文分词器复制到`F:\tomcat_solr\webapps\solr\WEB-INF\lib`目录下。 **步骤10:** 将中文分词器的配置文件以及log4j配置文件复制到`F:\tomcat_solr\webapps\solr\WEB-INF`目录下。...

Global site tag (gtag.js) - Google Analytics