一、solr4.10 + mmseg4j-2.2.0分词器

1、solr的安装部署:http://www.cnblogs.com/honger/p/5876289.html,注意不同的版本安装方式可能不同。

solr与mmseg4j对应的版本,不要弄错,否则会出错。

  • mmseg4j-solr-2.0.0.jar 要求 lucene/solr >= 4.3.0。在 lucene/solr [4.3.0, 4.7.1] 测试过兼容可用。
  • mmseg4j-solr-2.1.0.jar 要求 lucene/solr 4.8.x
  • mmseg4j-solr-2.2.0.jar 要求 lucene/solr [4.9, 4.10.x]
  • mmseg4j-solr-2.3.0.jar 要求 lucene/solr [5.0, ]

地址:https://github.com/chenlb/mmseg4j-solr,往下拉找到下载,点击即可

 2、下载好后,解压,将解压出来的两个jar包使用拷贝到tomcat的solr工程的lib下面,将mmseg4j-core-1.10.0.jar里的data文件夹里的以*.dic结尾的文件拷贝到solrhome的dic文件夹下,这个dic文件夹是自己创建的。

3、修改solrhome/collection2/conf/schma.xml,添加以下代码(collection2是你创建的core对象,以你自己创建的为准,代码中dicPath这个属性指的是你的dic文件目录,这里使用的是相对路径,相对于solrhome)

<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
</analyzer>
</fieldtype>
<fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />
</analyzer>
</fieldtype>
<fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic" />
</analyzer>
</fieldtype>

4、启动tomcat

二、第二种方式solr-4.10.0 IKAnalyzer分词器

IKAnalyzer分词器目前只能支持到solr5以下,以上的已经不支持了

1、IKAnalyzer分词器的下载:http://pan.baidu.com/s/1cBUw5g

2、IKAnalyzer解压后的目录结构,将其中的jar包拷贝到solr/WEB-INF/lib下,再将

IKAnalyzer.cfg.xml、ext_stopword.dic  mydict.dic  copy到 Tomcat的

webapps/solr/WEB-INF/classes下

3、修改你想要增加字段域的那个core下的schema.xml,我的是collection1添加以下代码

<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType> <field name="item_title" type="text_ik" indexed="true" stored="true"/>

 4、启动tomcat

 solrjTest.java参考文档地址:http://mirrors.cnnic.cn/apache/lucene/solr/ref-guide/apache-solr-ref-guide-6.2.pdf,可用ctrl+s将它下载下来。

import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test; public class SolrTest { @Test
public void create() throws Exception {
String urlString = "http://192.168.243.128:8080/solr";
SolrClient solr = new HttpSolrClient.Builder(urlString).build();
//集群
/*String zkHostString = "zkServerA:2181,zkServerB:2181,zkServerC:2181/solr";
SolrClient solr = new CloudSolrClient.Builder().withZkHost(zkHostString).build();*/
SolrInputDocument document = new SolrInputDocument();
document.addField("id", "552199");
document.addField("name", "Gouda cheese wheel");
document.addField("price", "49.99");
solr.add(document); // Remember to commit your changes! solr.commit();
} @Test
public void delete() throws Exception {
String urlString = "http://192.168.243.128:8080/solr";
SolrClient solr = new HttpSolrClient.Builder(urlString).build();
solr.deleteById("552199");
solr.deleteByQuery("id:100");
solr.commit();
} @Test
public void query() throws Exception {
String urlString = "http://192.168.243.128:8080/solr";
SolrClient solr = new HttpSolrClient.Builder(urlString).build();
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
query.setStart(20);
query.setRows(50);
//增加高亮域
query.setHighlight(true);
query.addHighlightField("item_title");
query.setHighlightSimplePre("<em style=\"color:red\">");
query.setHighlightSimplePost("</em>");
query.addHighlightField("item_title");
QueryResponse queryResponse = solr.query(query);
SolrDocumentList solrDocumentList = queryResponse.getResults();
for (SolrDocument solrDocument : solrDocumentList) {
System.out.println("------------------------------------");
System.out.println(solrDocument.get("id"));
System.out.println(solrDocument.get("item_title"));
System.out.println(solrDocument.get("item_category_name"));
System.out.println(solrDocument.get("item_sell_point"));
System.out.println(solrDocument.get("item_price"));
System.out.println("------------------------------------");
}
} }

solr配置分词器的更多相关文章

  1. Solr7.3.0入门教程,部署Solr到Tomcat,配置Solr中文分词器

    solr 基本介绍 Apache Solr (读音: SOLer) 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现.Apache ...

  2. CentOS 配置solr中文分词器

    第一步:使用IK-Analyzer.把分析器的文件夹上传到服务器. 第二步:需要把分析器的jar包添加到solr工程中. [root@bogon IK Analyzer 2012FF_hf1]# cp ...

  3. Solr IK分词器配置

    下载地址:https://search.maven.org/search?q=com.github.magese 分词器配置: 参考:https://www.cnblogs.com/mengjinlu ...

  4. lucene&solr学习——分词器

    下图是语汇单元的生成过程: 从一个Reader字符流开始,创建基于Reader的Tokenizer分词器,经过三个TokenFilter生成语汇单元Tokens. 要看分词器的分析效果,只需要看Tok ...

  5. solr 中文分词器IKAnalyzer和拼音分词器pinyin

    solr分词过程: Solr Admin中,选择Analysis,在FieldType中,选择text_en 左边框输入 “冬天到了天气冷了小明不想上学去了”,点击右边的按钮,发现对每个字都进行分词. ...

  6. solr IK分词器

    1.把IK文件夹上传到服务器tmp文件夹 2.把需要的jar导入到solr项目中 # cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps ...

  7. Solr(四)Solr实现简单的类似百度搜索高亮功能-1.配置Ik分词器

    配置Ik分词器 一 效果图 二 实现此功能需要添加分词器,在这里使用比较主流的IK分词器. 1 没有配置IK分词器,用solr自带的text分词它会把一句话分成单个的字. 2 配置IK分词器,的话它会 ...

  8. Solr6.5配置中文分词器

    Solr作为搜索应用服务器,我们在使用过程中,不可避免的要使用中文搜索.以下介绍solr自带的中文分词器和第三方分词器IKAnalyzer.  注:下面操作在Linux下执行,所添加的配置在windo ...

  9. solr 中文分词 IKAnalyzer

    solr中文分词器ik, 推荐资料:http://iamyida.iteye.com/blog/2220474?utm_source=tuicool&utm_medium=referral 使 ...

随机推荐

  1. springboot中加分布式redis锁

    分布式redis锁,spring-boot-starter-data-redis,RedisTemplate 公司聊天的聊天系统,近期出现多个客服并发接待同一个客户的记录,经排查,是由于代码加的同步锁 ...

  2. Hexo+NexT(四):Hexo站点及Next主题配置详解

    采用Hexo及NexT搭建好网站以后,有些效果不是我们需要的,Hexo及NexT提供了强大的定制功能,本文章将要讲解的就是如何在对网站进行配置及调整,达到博主需要的效果. 本文章配置环境是Hexo 3 ...

  3. 查看weblgic/Tuxedo/WebSpere(WAS)/Tomcat中间件版本

    1.中间件  1.1       Weblogic WebLogic的版本信息.JDK信息.参数配置均可通过控制台查看. 软件版本 [命令]more /weblogic/bea/logs/log.tx ...

  4. Akka-CQRS(14)- Http标准安全解决方案:OAuth2-资源使用授权

    上一篇讨论了SSL/TLS安全连接,主要是一套在通信层面的数据加密解决方案.但我们更需要一套方案来验证客户端.要把不能通过验证的网络请求过滤掉. OAuth2是一套行业标准的网络资源使用授权协议,也就 ...

  5. chmod命令用法详解-chmod修改目录权限

    chmod用法: 用来修改某个目录或文件的访问权限.  语法: chmod [-cfvR] [--help] [--version] [who] [+ | - | =] [mode] 文件名 例子: ...

  6. JIRA7.10迁移

    1.准备环境 系统环境:Centos7.3  防火墙和Selinux管闭 [root@localhost ~]# useradd jira [root@localhost ~]# yum instal ...

  7. HTTP 学习笔记02

    请求行 格式:请求方式  资源路径  HTTP版本号 HTTP1.1 还需要 [host] 例:GET   /test.html   HTTP/1.0 GET   /test.html   HTTP/ ...

  8. MySQL数据库设计与开发规范

    目录 1. 规范背景与目的 2. 设计规范 2.1. 数据库设计 2.1.1. 库名 2.1.2. 表结构 2.1.3. 列数据类型优化 2.1.4. 索引设计 2.1.5. 分库分表.分区表 2.1 ...

  9. 02(b)多元无约束优化问题-最速下降法

    此部分内容接02(a)多元无约束优化问题的内容! 第一类:最速下降法(Steepest descent method) \[f({{\mathbf{x}}_{k}}+\mathbf{\delta }) ...

  10. 使用react+redux+react-redux+react-router+axios+scss技术栈从0到1开发一个applist应用

    先看效果图 github地址 github仓库 在线访问 初始化项目 #创建项目 create-react-app applist #如果没有安装create-react-app的话,先安装 npm ...