solr7.0 中文分词+拼音分词

资料准备

  • solr7.0下载

  • IK分词器下载

  • 拼音分词器下载

solr文件目录(只讲一下7有些变化的目录)

  • web目录 : solr7/server/solr_webapp/webapp/

  • home目录 : solr7/server/solr

  • bin目录 : solr7/bin

创建Core

运行solr

#进入bin目录

$ cd ./solr7/bin

#执行solr

$ ./solr start -p 8000   ps: 停止和重启分别是(stop/restart)

创建core

  • 这里有个坑 就是在管理页面上根本创建不起

推荐使用手动创建方法:

# 进入home目录
$ cd ./solr7/server/solr/
# 创建core
$ mkdir test_core
# 进入test_core
$ touch core.properties   (内容是name=your core name)
# 创建文件目录
$ mkdir data
#拷贝一个conf到你的core下面
$ cp -r ./configsets/sample_techproducts_configs/conf/ ./
# 创建完成 重启solr 进入管理页面  可看到刚创建的core

创建中文分词器

IK分词器:

  • ext.dic为扩展字典
  • stopword.dic为停止词字典
  • IKAnalyzer.cfg.xml为配置文件
  • solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar为分词jar包。

  • 1:将IK分词器 JAR 包拷贝到solr7/server/solr_webapp/webapp/WEB-INF/lib/

  • 2:将词典 配置文件拷贝到 solr7/server/solr_webapp/webapp/WEB-INF/

  • 3: 更改test_core\conf\managed-schema配置文件


<fieldType name="text_ik" class="solr.TextField">
        <analyzer type="index">
            <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
        analyzer>
        <analyzer type="query">
            <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
        analyzer>
fieldType>
  • 重启 测试分词器text_ik 这里不细讲怎么去测试

pinyin分词器

  • 1:将pinyin分词器 JAR 包拷贝到solr7/server/solr_webapp/webapp/WEB-INF/lib/

  • 2: 更改test_core\conf\managed-schema配置文件

<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">
    <analyzer type="index">
        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
    analyzer>
    <analyzer type="query">
        <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory"/>
        <filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
        <filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
    analyzer>
fieldType>
  • 重启 测试分词器text_pinyin 这里不细讲怎么去测试

你可能感兴趣的:(java)