有没有一种分词器 ,可以配置split形式分词

问题描述

现在我用的IK分词器,现在有一个字段存储是这样的 我爱java|lucene学习|CC|DD如果直接分词,则会分成 我爱 java lucene 学习 CC DD而我想单独这个字段只使用split形式的分词, 以 | 符号分词,分成 我爱java 一个词, lucene学习一个词有没有这样的形式的 问题补充:fire_wang 写道

解决方案

我已经按照你想要的切词方式,写了一个,你可以到这里下载。http://lzj0470.iteye.com/blog/1259070
解决方案二:
Lucene里面有个org.apache.lucene.analysis.StopAnalyzer分词器,构造分词对象的时候使用:StopAnalyzer(Version matchVersion, Set<?> stopWords) 改构造器,将“|”,作为stopWords的一个元素。
解决方案三:
HubbleDotNet--自定义分词器HubbleDotNet 在设计之初就定位为一个开放式的搜索平台,分词器,得分算法,数据库适配器,存储过程,函数等等都可以通过编写自定义的插件来定制。目前版本分词器,数据库适配器的自定义接口已经开放,得分算法的自定义接口也将在最近开放出来。本文将讲述如何编写自己的分词器。HubbleDotNet 本身自带了3个分词器,分别是盘古分词,简单分词和英文分词。但对于搜索应用来说,仅仅这3种分词器是不够用的,很多应用需要定制化的分词器来提高搜索的准确度。本文通过讲述如何编写一个以逗号分隔的分词器,抛砖引玉。大家可以仿照这个简单的逗号分隔分词器来编写自己的分词器。逗号分词器主要用于一些分类信息的分解。比如某条记录同时属于 A B C 三个分类,在关系型数据库中,我们可能需要设计2个表,通过主表和分类信息表关联来描述记录的分类关系。在搜索引擎技术中,往往偏向于no-sql ,至少是单表的简单平铺方式,这种方式的查询效率要比关系型要高很多,适合于搜索引擎对大规模数据检索的要求。目前以 google 为代表的搜索引擎基本上都是采用非关系型的设计,所以我们在设计搜索引擎时也最好参照这些搜索巨头的设计理念。回到这个问题,把分类信息平铺到一个表中的方法是增加一个全文索引字段,这个字段中存储这条记录的所属分类,分类之间以逗号分隔(比如 A,B,C)。 这样如果我们要查询属于A或B分类的记录,我们只要写类似如下的语句就可以完成:select top 10 * from table where title contains ‘xxxx’ and class match ‘A B’ order by score desc详细http://www.cnblogs.com/eaglet/archive/2011/06/03/2070256.html
解决方案四:
你可以把这个单独处理,或者把这个处理加到分词前面去,这个处理完之后再做分词,也行。

时间: 2024-09-28 01:05:07

有没有一种分词器 ,可以配置split形式分词的相关文章

11大Java开源中文分词器的使用方法和分词效果对比

本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断. 11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口: 从上面的定义我们知道,在Java中,同样的方法名称和参数,但是返回值不同,这种情况不可以使用重载. 这两个方法的区别在于返回值,每一个分词器都可能有多种分词

solr-英文分词器,一般英文的分词器都是以空格或特殊字符分词,并且会去掉非字母

问题描述 英文分词器,一般英文的分词器都是以空格或特殊字符分词,并且会去掉非字母 字符串分词器,一般英文的分词器都是以空格或特殊字符分词,并且会去掉非字母,有没有可以将整个字符串按字符一个一个分开,并且不去除特殊字符 如对"CN1000.09"进行分词,输入"C""CN","CN100",都能搜到

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

   在Solr中该如何使用IK分词器呢,这是小伙伴们问的频率比较高的一个问题,今晚特此更新此篇博客.其实之前我在其他博客里已经使用了IK分词器,只是我没做详细说明.        在schema.xml配置中其实有很多关于分词器的配置示例,我从中摘录一段配置示例,比如: Xml代码   <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100&qu

Lucene5学习之使用IKAnalyzer分词器

   之前的示例中,使用的是默认的StandardAnalyzer分词器,不能有效的进行中文分词,下面演示下如何在Lucene5.0中使用IKAnalyzer分词器.     首先下载IKAnalyzer分词器源码,IKAnalyzer分词器源码托管在OSChina的git上.下载地址: http://git.oschina.net/wltea/IK-Analyzer-2012FF 请如图下载IK的源代码:    然后打开Eclipse新建一个Java Project:      然后解压下载下

Lucene5学习之使用Ansj-seg分词器

    这回我们来玩玩ansj分词器,由于Lucene5.0在API上有点小变化,需要修改ansj分词器源码,重新打包jar包,然后mvn install到本地仓库才能引用到项目中.至于怎么修改以及怎么打包jar,我就不过多说明了,有点麻烦,我想偷个懒,哈哈.这里我就直接把打包后的jar分享给你们,jar包注意在底下的附件里下载.     我就说说,怎么在项目中使用ansj分词器,首先pom.xml引入ansj分词器的依赖.   Xml代码   <!-- ansj-seg -->   <

Lucene 3.6.2入门(4) 中文分词器

package com.jadyer.lucene; import java.io.IOException; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.SimpleAnalyzer; import org.apache.lucene.analysis.StopAnalyzer; import org.apache.lucene

使用肖波的KTDictSeg分词器 为Lucene.net服务

最近在看Lucene.net 发现Lucene.net的中文分词资料不是很多,很早就在看肖波的KTDictSeg,觉的分词效果不错,但是没有lucene接口,看他的blog也是很长时间没有更新了 他在他的blog中提到将在下一个版本中提供对lucene的支持,我这里期待中...同时blog中提到一挥的修改版本,但是一挥的站打不开了,不知道什么原因,我刚刚看这个时间不长,查了些资料 写了下面的代码实现了KTDictSeg在Lucene.net中的调用,期待有更好的方法出现 下面附上代码 1usin

使用 Elasticsearch 的 NGram 分词器处理模糊匹配

接到一个任务:用 Elasticsearch 实现搜索银行支行名称的功能.大概就是用户输入一截支行名称或拼音首字母,返回相应的支行名称.比如,用户输入"工行"或者"gh",我需要返回"工行XXX分行"类似这样的结果. 我心里嘀咕着:数据库不是支持通配符查询吗?为什么不直接用数据库查询? 说归说,但是任务还是要完成的.之前有在网上看过一篇文章,主要就是说用 Elasticsearch 处理通配符查询不太适合,然后我在评论中看到作者推荐了一个分词器

elasticsearch 2.3.4 java API 连接,ik分词器,设置集群节点,创建index,mapping的几种方式

1.默认集群连接 Client client = TransportClient.builder().build() .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 2.自定义集群连接 Settings settings = Settings.settingsBuilder().put("cluster.name", &qu