zoukankan      html  css  js  c++  java
  • solr详解,开发必备

    1.基础知识

    创建索引的过程如下:

    (1)、建立索引器IndexWriter,这相当于一本书的框架

    (2)、建立文档对象Document,这相当于一篇文章

    (3)、建立信息字段对象Field,这相当于一篇文章中的不同信息(标题、正文等)。

    (4)、将Field添加到Document里面。

    (5)、将Document添加到IndexWriter里面。

    (6)、关闭索引器IndexWriter。

    按照上图所示的结构,创建索引有三个基本的步骤:

    (1)、创建Field,将文章的不同信息包装起来

    (2)、将多个Field组织到一个Document里面,这样完成了对一篇文章的包装。

    (3)、将多个Document组织到一个IndexWriter里面,也就是将多个文章组装起来,最终形成索引

    看上去的solr就像一张表数据,同时你也可以建立多个表即多core,多core的创建请查看 http://www.cnblogs.com/happyday56/p/5789776.html

    1.solr服务器配置

    windows http://www.cnblogs.com/happyday56/p/5727089.html

    linux

     2.spring data solr

    https://github.com/spring-projects/spring-data-solr

    https://github.com/spring-projects/spring-data-solr-examples

    3.分词器

    推荐IKAnalyzer 和 mmseg4j

    ik分词:https://code.google.com/p/ik-analyzer
    mmseg4j:https://code.google.com/p/mmseg4j/downloads/list

    ik分词器

    将ik-analyzer-solr5-5.x.jar这个jar包放入solr项目下的 WEB-INFlib目录中去

    将IKAnalyzer.cfg.xml,mydict.dic,stopword.dic放在 solr项目下的WEB-INFclasses目录中去

    修改scheme文件

    <fieldType name="text_ik" class="solr.TextField"><analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/></fieldType>

     mmseg4j分词器

       <dependency>
                <groupId>com.chenlb.mmseg4j</groupId>
                <artifactId>mmseg4j-solr</artifactId>
                <version>2.3.0</version>
            </dependency>

    schema配置

     <fieldType name="text_mmseg4j_complex" class="solr.TextField" positionIncrementGap="100" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
      </analyzer>
    </fieldType>
    <fieldType name="text_mmseg4j_maxword" class="solr.TextField" positionIncrementGap="100" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
      </analyzer>
    </fieldType>
    <fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100" >
      <analyzer>    
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
      </analyzer>
    </fieldType>
     

    4.参考文献

    http://wiki.apache.org/solr/

    Apache Solr查询语法

    http://www.nice98.com/1.html

  • 相关阅读:
    msyql 死锁
    yii2 操作数据库
    yii2 加载静态资源
    Yii2 之 UrlManager 实践 (一)
    Wordpress 之 Rewrite Rules
    yii2 使用gii生成代码文件
    权限设计的杂谈
    NodeJS —— 自定义流的实现
    浅析递归
    请将你的App签名文件放进保险箱
  • 原文地址:https://www.cnblogs.com/happyday56/p/5784205.html
Copyright © 2011-2022 走看看