`
linshow26
  • 浏览: 89695 次
文章分类
社区版块
存档分类
最新评论

solr 和paoding整合

 
阅读更多
1.        下载paoding-analysis-2.0.4-beta.zip
http://code.google.com/p/paoding/downloads/list

2.        解压压缩包至paoding-analysis-2.0.4-beta
3.        设置paoding的home环境变量:
l        把paoding-analysis-2.0.4-beta中的dic文件夹考到solr的home文件夹中
l        进入paoding-analysis-2.0.4-beta找到paoding-analysis.jar,将其考到tomcat/webapps/solr/solr/WEB-INF/lib下
l        解压paoding-analysis.jar,找到文件paoding-dic-home.properties,更改属性如下:
paoding.dic.home=D:/solr/solr/dic(D:/solr/solr为solr的home目录)
l        重新编译打包成paoding-analysis.jar

4.        封装paoding
  
package org.paoding;

import java.io.Reader;
import java.util.Map;

import net.paoding.analysis.analyzer.PaodingTokenizer;
import net.paoding.analysis.analyzer.TokenCollector;
import net.paoding.analysis.analyzer.impl.MaxWordLengthTokenCollector;
import net.paoding.analysis.analyzer.impl.MostWordsTokenCollector;
import net.paoding.analysis.knife.PaodingMaker;

import org.apache.lucene.analysis.TokenStream;
import org.apache.solr.analysis.BaseTokenizerFactory;


/**
* 中文切词 对庖丁切词的封装
*/
public class ChineseTokenizerFactory extends BaseTokenizerFactory {
    /**
     * 最多切分   默认模式
     */
    public static final String MOST_WORDS_MODE = "most-words";
    /**
     * 按最大切分
     */
    public static final String MAX_WORD_LENGTH_MODE = "max-word-length";
    private String mode = null;
    public void setMode(String mode) {
             if (mode==null||MOST_WORDS_MODE.equalsIgnoreCase(mode)
                      || "default".equalsIgnoreCase(mode)) {
                  this.mode=MOST_WORDS_MODE;
             } else if (MAX_WORD_LENGTH_MODE.equalsIgnoreCase(mode)) {
                  this.mode=MAX_WORD_LENGTH_MODE;
             }
             else {
                  throw new IllegalArgumentException("不合法的分析器Mode参数设置:" + mode);
             }
        }
    @Override
    public void init(Map args) {
        super.init(args);
        setMode( (String) args.get("mode"));
    }
    public TokenStream create(Reader input) {
        return new PaodingTokenizer(input, PaodingMaker.make(),
                  createTokenCollector());
    }
    private TokenCollector createTokenCollector() {
        if( MOST_WORDS_MODE.equals(mode))
             return new MostWordsTokenCollector();
        if( MAX_WORD_LENGTH_MODE.equals(mode))
             return new MaxWordLengthTokenCollector();
        throw new Error("never happened");
    }
}


注:其中需要的包为solr.war中的lib库和庖丁文件包中的paoding-analysis.jar
将以上代码打包为paoding.jar(附件中可下载),考到tomcat/webapps/solr/solr/WEB-INF/lib下。

5.        找到solr 的home目录下的conf(即D:\solr\solr\conf)中的schema.xml,做如下修改:


<fieldType name="text" class="solr.TextField" positionIncrementGap="100"> 
      <analyzer type="index"> 
        <!--<tokenizer class="solr.WhitespaceTokenizerFactory"/>--> 
        <tokenizer class="org.paoding.ChineseTokenizerFactory" mode="most-words"/> 
      ··· ···  
      </analyzer> 
      <analyzer type="query"> 
         <!--<tokenizer class="solr.WhitespaceTokenizerFactory"/>--> 
         <tokenizer     class="org.paoding.ChineseTokenizerFactory" mode="most-words"/>   
        ··· ···  
      </analyzer> 
</fieldType> 
其中<!-- --> 里面的为原来默认的内容

6.重启tomcat即可。进行测试http://localhost:8888/solr/admin/analysis.jsp
分享到:
评论

相关推荐

    solr+paoding

    ### Solr + Paoding:构建高效全文检索系统 #### 一、Solr简介与核心功能 **Solr** 是一种开放源代码的企业级搜索平台,它基于 **Lucene Java**,能够提供强大的全文检索功能。Solr 的核心优势在于其灵活易用的...

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

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

    Solr3.5整合Tomcat

    总之,Solr 3.5 整合到 Tomcat 可以让你利用 Tomcat 的稳定性和灵活性来运行和管理 Solr 搜索服务,从而在 web 应用中实现高效的全文检索功能。通过理解 Solr 的配置和 Tomcat 的部署机制,你可以更好地定制和扩展你...

    Tomcat8.0与Solr8.0的整合

    总结来说,整合Tomcat 8.0与Solr 8.0的过程主要包括下载和安装两个组件,部署Solr的WAR文件到Tomcat,配置IK分词器,以及在Solr的schema.xml中定义字段类型。完成这些步骤后,你就能够利用Tomcat的便捷性和Solr的...

    solr与tomcat整合

    整合这两者可以方便地在Web环境中部署和管理Solr服务。 **整合步骤详解:** 1. **创建目录结构**: 首先,在Lucene的根目录下创建一个名为`solr`的新文件夹,然后在此文件夹内创建`home`子文件夹。将Solr的`...

    整合tomcat+solr,整合solr+oracle

    将Solr安装包中的`solr-6.6.0\example\example-DIH\solr\solr`目录下的所有文件复制到`my_core`目录下,并通过Solr管理界面创建新的Core,指定`name`和`instanceDir`都为`my_core`。 ##### 3. 配置SolrConfig.xml -...

    solr4.10.2与tomcat6的整合

    将 Solr 与 Tomcat 进行整合,可以使 Solr 成为一个可被外部应用访问的服务,便于进行分布式部署和管理。 #### 二、环境准备 1. **下载所需软件**: - Solr 4.10.2 - Apache Tomcat 6.0.36 2. **解压安装**: ...

    Solr+Paodng中文搜索引擎__Demo

    总的来说,"Solr+Paoding中文搜索引擎Demo"提供了一个完整的示例,帮助开发者了解如何利用Solr和Paoding构建自己的中文搜索引擎系统。通过学习和实践这个Demo,你可以掌握相关技术和流程,为后续的项目开发打下坚实...

    solr 3.5 msg整合可直接使用

    "solr 3.5 msg整合可直接使用"的标题意味着这个压缩包包含了一个已经配置好并且可以立即运行的Solr 3.5实例,特别地,它可能已经集成了某种消息处理或通信机制(可能指的是message5_1),以便于数据的导入和检索。...

    solr 3.5 tomcat 整合可直接使用

    Solr 3.5与Tomcat的整合是一个关键的步骤,尤其对于那些希望在Java应用服务器上部署Solr搜索引擎的企业。Solr是一个基于Apache Lucene的开源搜索平台,提供了高效、可扩展的全文检索、命中高亮、拼写检查、分类、 ...

    solr ssm java

    标题中的"solr ssm java"表明这是一个使用Java语言,结合Spring、SpringMVC和MyBatis(SSM)框架的项目,其中整合了Apache Solr搜索引擎。让我们深入了解一下这些技术及其相互作用。 **Solr**: Apache Solr是基于...

    solr4.7服务搭建

    ### Solr 4.7 服务搭建详细指南 #### 一、环境准备 ...至此,Solr 4.7 服务的搭建和中文分词技术配置全部完成。通过以上步骤,用户可以成功搭建并配置好 Solr 4.7 服务,实现高效的数据索引和搜索功能。

    Solr安装与整合中文分词IKAnalyzer

    - 在Solr的示例项目中,找到`WEB-INF`目录,并在其下新建`classes`文件夹,将`IKAnalyzer.cfg.xml`和`stopword.dic`文件复制到该文件夹中。 - 将`IKAnalyzer2012FF_u1.jar`复制到`lib`文件夹内。 - 修改`example\...

    Solr高级搜索+tomcat整合服务器

    Solr如何进行索引和搜索 索引:客户端(可以是浏览器可以是java程序)发送post请求到solr服务器,发给solr服务器一个文档(xml、json),就可以进行一个添加索引删除索引、修改索引的操作。 搜索:客户端(可以是...

    tomcat整合solr.rar

    这个压缩包提供了一个完整的环境,包括Tomcat 9.0.1版本和Solr 7.1.0版本,以及相关的整合文档和开发教程。 描述中提到的"solr全文检索服务器开发"表明这个资源旨在帮助开发者学习如何在Tomcat上部署和配置Solr,...

    SpringBoot整合Solr案例源码

    整合Spring Boot和Solr,首先需要在项目的`pom.xml`文件中添加Solr的相关依赖,包括Spring Data Solr和Solr客户端库。例如,可以添加以下依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-...

    paoding-webx3-solr-lucene

    "paoding-webx3-solr-lucene"是一个专注于搜索引擎构建的项目,它结合了Webx3、Paoding(分词库)和Solr(企业级搜索平台)的优势,为中文搜索提供了一套强大的解决方案。本文将深入探讨这个项目的各个组件以及它们...

    window下tomcat+solr整合

    描述中的“在window下搭建的solr环境,以整合配置好”,意味着已经完成了Solr的安装、配置和测试,现在要将其与Tomcat整合。提供的链接是一个具体的教程,可以参考该教程进行操作。在这个过程中,我们可能需要完成...

Global site tag (gtag.js) - Google Analytics