`
wanglihu
  • 浏览: 915493 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

solr搜索服务器配置mmseg4j分词

    博客分类:
  • solr
阅读更多
为solr搜索服务器配置mmseg4j分词 , 并使用搜狗词库。
mmseg4j分词下载地址:http://code.google.com/p/mmseg4j/ ,
搜狗词库下载地址:http://code.google.com/p/mmseg4j/downloads/detail?name=data.zip&can=2&q
下载最新更新:mmseg4j-1.8.5.zip(它是基于lucene/solr 3.1版本)和data.zip
配置过程与操作过程如下:
1.把下载的mmseg4j分词mmseg4j-1.8.5.zip解压缩 , 把里面的mmseg4j-all-1.8.5.jar 文件 拷贝到 Tomcat 6.0.26\webapps\solr\WEB-INF\lib 目录下;

2.在  Tomcat 6.0.26\webapps\solr  目录下新建一个  dic  文件夹 , 把 新下载的  词库 拷贝到 dic 目录下

3.在 \Tomcat 6.0.26\webapps\solr\conf\multicore\core0\conf\schema.xml  文件的  types 节点里 添加如下节点 :

<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100">  
        <analyzer>  
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="E:/Program Files/Apache Software Foundation/Tomcat 6.0.26/webapps/solr/dic">  
            </tokenizer>  
        </analyzer>  
    </fieldtype>  
    <fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">  
        <analyzer>  
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="maxword" dicPath="E:/install/Tomcat 6.0.26/webapps/solr/dic">  
            </tokenizer>  
        </analyzer>  
    </fieldtype>  
    <fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">  
        <analyzer>  
            <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="E:/install/Tomcat 6.0.26/webapps/solr/dic">  
            </tokenizer>  
        </analyzer>  
    </fieldtype> 





4. 在 \Tomcat 6.0.26\webapps\solr\conf\multicore\core0\conf\schema.xml  文件的  fields 节点里 添加如下节点 :

<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" type="textMaxWord" indexed="true" stored="true" multiValued="true" /> 





5. 因为 solr3.5 里有两个 core , 所以针对 core1 重复 3,4 两步;

6. 对分词进行测试,访问[url]http://localhost:8080/solr/core0/admin/analysis.jsp?highlight=on [/url]

测试1: Field[Name]   输入:complex

测试2: Field Value(index) 输入:中国银行第一分行,Field Value(index) 
下面的 verbose outpu 点选

测试3: 点击 Analyze  按钮 , 查看分词结果:  中国银行 |  第一 |  分行


7. 此时 Solr3.5 已经可以进行分词 , 接下来配置solr 3.5连接mysql 数据库,生成索引,进行分词;

7.1   下载 java 的 mysql 驱动 , 本机解压 mysql-connector-java-5.1.18-bin.jar,  然后拷贝到 Tomcat 6.0.26\webapps\solr\WEB-INF\lib目录下

7.2   在 \Tomcat 6.0.26\webapps\solr  目录下新建db文件夹

7.3   在 \Tomcat 6.0.26\webapps\solr\db 文件夹下面新建一个db-data-config.xml 文件 , 内容如下 :

<dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="123" />
    <document name="messages">
        <entity name="message" transformer="ClobTransformer" query="select * from test1">
            <field column="ID" name="id" />
            <field column="Val" name="text" />
        </entity>
    </document>
</dataConfig>

url="jdbc:mysql://localhost:3306/test" user="root" password="111111"  这里配置了 mysql 的连接路径 , 用户名 , 密码

<field column="ID" name="id" /><field column="Val" name="text" />  这里配置的是 数据库里要索引的字段 , 注意name 是 4 步配置的

7.4   在 Tomcat 6.0.26\webapps\solr\conf\multicore\core0\conf 目录下的 solrconfig.xml 文件里 , 添加如下代码 :
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
    <lst name="defaults">  
      <str name="config">E:/install/Tomcat 6.0.26/webapps/solr/db/db-data-config.xml</str>   
    </lst>  
  </requestHandler>  


“E:/install/Tomcat 6.0.26/webapps/solr/db/db-data-config.xml”是7.3配置文件的绝对路径

7.5  在Tomcat 6.0.26\webapps\solr\conf\multicore\core1\conf\solrconfig.xml路径里重复7.4

7.6  把本地下载解压的 solr3.5 文件里,dist 目录下的apache-solr-dataimporthandler-3.5.0.jar 和 apache-solr-dataimporthandler-extras-3.5.0.jar  Tomcat 6.0.26\webapps\solr\WEB-INF\lib目录下

7.7   solr3.5 连接 mysql 已经配置完成 , 测试读取 mysql 生成 索引 , 访问 :   [url]http://localhost:8080/solr/core0/dataimport?command=full-import [/url]

7.8   测试分词查询 ,访问http://localhost:8080/solr/core0/admin/  查询数据库里索引列里有的词



注意 , 这仅仅是配置 solr3.5 连接 mysql 生成索引 , 可以执行正常词语的查询 , 但是不能执行对搜索短语的分词查询

multicore目录下面多个 core 文件夹 , 每一个都是一个接口 , 有独立的配置文件 , 处理某一类数据 。

multicore/core0/conf/  目录下的  schema.xml  文件 相当于数据表配置文件 , 它定义了加入索引的数据的数据类型 。文件里有一个 <uniqueKey>id</uniqueKey> 的配置 , 这里将 id 字段作为索引文档的唯一标示符 , 非常重要 。



FieldType 类型 , name 是这个 FieldType 的名称 , class 指向了 org.apache.solr.analysis 包里面对应的 class 名称 , 用来定义这个类型的定义 。在 FieldType 定义的时候最重要的就是定义这个类型的数据在建立索引和进行查询的时候要使用的分析器analyzer,包括分词和过滤 。

Fields 字段 :  结点内定义具体的字段(类似数据库中的字段) , 就是 field , 包含 name , type(为之前定义过的各种FieldType) , indexed(是否被索引) , stored(是否被存储) , multiValued(是否有多个值)

copeField(赋值字段): 建立一个拷贝字段 , 将所有的全文字段复制到一个字段中 , 以便进行统一的检索 。
分享到:
评论
1 楼 hfkiss44 2012-01-13  
哥们  首先谢谢你分享这篇文章  我按着你的步骤也搭建成功了数据库索引查询  但是只能查到英文相关的索引  若是中文就没有查出索引结果  请问这个是怎么回事?

相关推荐

    跟益达学Solr5之使用MMSeg4J分词器

    4. **测试与优化**:完成配置后,重启Solr服务器,然后通过Solr的Admin UI或者API进行索引创建、文档添加和查询测试。根据实际效果,你可能需要调整MMSeg4J的参数,比如分词模式、字典大小等,以达到最佳性能。 5. ...

    solr6配置mmseg4j

    在Solr6中配置mmseg4j是为了实现中文分词,从而提升搜索效果。mmseg4j是基于Java的一个高性能中文分词库,它提供了多种分词算法,如最长匹配、最短路径等,以满足不同的分词需求。 首先,我们需要理解Solr6的基本...

    mmseg4j-solr-mmseg4j-solr-2.2.0.zip

    1. **安装与配置**:将mmseg4j-solr-2.2.0的jar包添加到Solr的lib目录下,然后在Solr的schema.xml中配置分词器,指定使用mmseg4j-solr的分词算法。 2. **定制词典**:mmseg4j-solr允许用户自定义词典,以适应特定...

    solr6配置mmseg4j所需jar包和dic文件

    在Solr6版本中,为了实现中文分词,我们通常会引入第三方分词器,如mmseg4j。mmseg4j是一个基于Java的高效中文分词库,它可以提供灵活的分词规则,适用于各种应用场景。 配置mmseg4j涉及到的主要步骤包括: 1. **...

    Solr3.2 + mmseg4j-1.8.4中文搜索引擎_Demo

    在"Solr3.2+mmseg4j-1.8.4中文搜索引擎 demo"项目中,`paoding-analysis.jar`是包含mmseg4j分析器的Java库文件,它提供了与Solr交互的接口,使得Solr能够使用mmseg4j进行中文分词。`readme.txt`通常包含了关于如何...

    mmseg4j-solr全版本及配置

    包内包含的文件如"solr配置.txt",提供了Solr服务器的基本配置指导,包括Solr核心的创建、字段类型定义、索引配置等。对于初学者,理解这些配置至关重要,因为它们直接影响到Solr的性能和功能。例如,合理的`schema....

    mmseg4j完美适配solr5.2.1

    mmseg4j是一款针对中文的高效分词库,而Solr作为Apache Lucene项目的一部分,是一个强大的全文搜索引擎服务器。当这两者结合时,可以为企业的信息检索系统提供强大的支持。然而,随着Solr版本的不断更新,如何使...

    在tomcat环境下搭建solr和mmseg4j搜索引擎

    本教程将详细阐述如何在Tomcat服务器环境下搭建Solr搜索引擎,并结合mmseg4j分词器进行文本处理,以便实现更精确的中文搜索。以下是你需要了解的关键知识点: 1. **Tomcat服务器**:Tomcat是一个开源的、轻量级的...

    tomcat+solr3.6+mmseg4j

    3. **查询与搜索**:通过Solr的Query API或者管理界面,输入关键词进行搜索,查看MMSEG4J分词后的搜索结果。 4. **优化性能**:根据实际需求,调整Solr的索引优化策略、缓存配置等,提高查询速度。 通过以上步骤,...

    mmseg4j最新jar完美整合solr-5.3.0

    在整合mmseg4j到Solr-5.3.0之前,需要确保Solr服务器已经正确安装并运行。接着,我们需要将这两个jar文件添加到Solr的lib目录下。这一步是为了让Solr能够识别并加载mmseg4j的相关类,以实现分词功能。 接下来,我们...

    在tomcat环境下搭建solr3.5和mmseg4j搜索引擎

    ### 在Tomcat环境下搭建Solr 3.5与MMSEG4J搜索引擎 #### 一、配置Solr环境 1. **下载Solr** - 访问官方下载页面:[http://www.apache.org/dyn/closer.cgi/lucene/solr/]...

    MMseg4j中文分词词库

    MMseg4j是一个广泛应用于Java环境中的中文分词工具,它以其高效、灵活和准确的特性,在Lucene和Solr等搜索引擎框架中占据了重要地位。本文将深入探讨MMseg4j中文分词词库的来源、功能以及如何在实际应用中发挥作用。...

    solr中的mmesg4j中文分词器安装

    ### Solr中的MMSeg4J中文分词器安装与配置详解 #### 一、MMSeg4J简介 MMSeg4J是一款高效的Java实现的中文分词工具包,它基于统计和规则混合的方法来处理中文文本的分词问题。在搜索引擎如Solr中,通过集成MMSeg4J...

    mmseg4j.jar

    Solr是一个流行的开源搜索服务器,mmseg4j-solr使得mmseg4j能够无缝地集成到Solr中,为Solr提供强大的中文分词支持,提升全文检索的效果。 3. **mmseg4j-analysis-1.9.1.jar**:这个包是针对分析和处理文本的工具集...

    mmseg4j1.9.1.zip 中文分词器

    2. **部署词典**:确保Solr服务器能够访问到`mmseg4j`的词典文件,可能需要将其复制到Solr的lib目录下。 3. **重启Solr**:完成配置后,重启Solr服务以使更改生效。 4. **测试分词效果**:通过Solr的管理界面或API...

    lucene整合mmseg4j实例和项目实例

    然而,在处理中文分词时,Lucene原生的分词器可能无法满足复杂的中文语境需求,这时就需要引入第三方分词工具,如MMSEG4J。本文将深入探讨如何在Lucene项目中整合MMSEG4J,并提供一个实际的项目实例作为参考。 一、...

    solr5.4开发环境完整配置

    在本文中,我们将详细探讨如何配置 Solr 5.4 开发环境,包括安装、配置、以及数据导入,同时也会提及 mmseg4j 分词器的使用。 首先,让我们了解 mmseg4j。这是一款适用于Java的中文分词库,它能够有效地对中文文本...

Global site tag (gtag.js) - Google Analytics