- 浏览: 595220 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (819)
- java开发 (110)
- 数据库 (56)
- javascript (30)
- 生活、哲理 (17)
- jquery (36)
- 杂谈 (15)
- linux (62)
- spring (52)
- kafka (11)
- http协议 (22)
- 架构 (18)
- ZooKeeper (18)
- eclipse (13)
- ngork (2)
- dubbo框架 (6)
- Mybatis (9)
- 缓存 (28)
- maven (20)
- MongoDB (3)
- 设计模式 (3)
- shiro (10)
- taokeeper (1)
- 锁和多线程 (3)
- Tomcat7集群 (12)
- Nginx (34)
- nodejs (1)
- MDC (1)
- Netty (7)
- solr (15)
- JSON (8)
- rabbitmq (32)
- disconf (7)
- PowerDesigne (0)
- Spring Boot (31)
- 日志系统 (6)
- erlang (2)
- Swagger (3)
- 测试工具 (3)
- docker (17)
- ELK (2)
- TCC分布式事务 (2)
- marathon (12)
- phpMyAdmin (12)
- git (3)
- Atomix (1)
- Calico (1)
- Lua (7)
- 泛解析 (2)
- OpenResty (2)
- spring mvc (19)
- 前端 (3)
- spring cloud (15)
- Netflix (1)
- zipkin (3)
- JVM 内存模型 (5)
- websocket (1)
- Eureka (4)
- apollo (2)
- idea (2)
- go (1)
- 业务 (0)
- idea开发工具 (1)
最新评论
-
sichunli_030:
对于频繁调用的话,建议采用连接池机制
配置TOMCAT及httpClient的keepalive以高效利用长连接 -
11想念99不见:
你好,我看不太懂。假如我的项目中会频繁调用rest接口,是要用 ...
配置TOMCAT及httpClient的keepalive以高效利用长连接
文本中包含许多文本处理步骤,比如:分词,大写转小写,词干化,同义词转化和许多的文本处理。
文本分析既用于索引时对一文本域的处理,也用于查询时查询字符串的文本处理。文本处理对搜索引擎的搜索结果有着重要的影响,特别是对如召回率的影响。
文本分析是将一个文本域的值转化为一个词序列。词是Lucene实际索引和搜索时的最小单元。分析作用于索引时原始的输入值,将转化后的词顺序保存到Lucene的索引结构中。文本分析也同样作用于查询时所输入的查询串中的查询词和查询短语,转化后的词将用于查询Lucene的索引。不用进行文本分析的查询是前缀查询,通配符查询和模糊查询。
看下面的配置:
这个配置例子定义了两个分析器,每个都指定了将文本转换为词序列的处理步骤。Type属性可以指定为index或是query值,分别表示是索引时用的分析器,和查询时所用的分析器。如果在索引和查询时使用相同的分析器,你可以不指定type属性值。上面示例中的两个分析器之间的区别很小。
分析器的配置中可以选用一个或多个字符过滤器(character filter),字符过滤器是对原始文本进行字符流级别的操作。它通常可以用于大小写转化,去除字母上标等等。在字符过滤器之后是分词器(Tokenizer),它是必须要配置的。分析器会使用分词器将字符流切分成词元(Token)系列,通常用在空格处切分这种简单的算法。后面的步骤是可选的,比如词元过滤器(Token Filter)(一般简称过滤器),会对词元(Token)进行许多种操作。最后产生的词元会被称为词(Term),即用于Lucene实际索引和查询的单位。注意有些词元过滤器如WordDelimeterFilterFactory也进行分词操作,但是它们是在词元上操作,而真正的分词器是操作一个字符流。
最后,我有必须对autoGeneratePhraseQueries布尔属性补充两句,这个属性只能用于文本域。如果在查询文本分析时产生了多个词元,比如Wi-Fi分词为Wi和Fi,那么默认情况下它们只是两个不同的搜索词,它们没有位置上的关系。但如果autoGeneratePhraseQueries被设置,那么这两个词元就构造了一个词组查询,即“WiFi”,所以索引中“WiFi”必须相邻才能被查询到。在新Solr版本中,默认它被设置为false。我不建议使用它。
参考:http://www.cnblogs.com/lvfeilong/p/34545dghfdgf.html
文本分析既用于索引时对一文本域的处理,也用于查询时查询字符串的文本处理。文本处理对搜索引擎的搜索结果有着重要的影响,特别是对如召回率的影响。
文本分析是将一个文本域的值转化为一个词序列。词是Lucene实际索引和搜索时的最小单元。分析作用于索引时原始的输入值,将转化后的词顺序保存到Lucene的索引结构中。文本分析也同样作用于查询时所输入的查询串中的查询词和查询短语,转化后的词将用于查询Lucene的索引。不用进行文本分析的查询是前缀查询,通配符查询和模糊查询。
看下面的配置:
<fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> <analyzer type="index"> <!--<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>--> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt" enablePositionIncrements="true"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.PorterStemFilterFactory"/> </analyzer> <analyzer type="query"> <!--<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>--> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt" enablePositionIncrements="true" /> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> <filter class="solr.PorterStemFilterFactory"/> </analyzer> </fieldType>
这个配置例子定义了两个分析器,每个都指定了将文本转换为词序列的处理步骤。Type属性可以指定为index或是query值,分别表示是索引时用的分析器,和查询时所用的分析器。如果在索引和查询时使用相同的分析器,你可以不指定type属性值。上面示例中的两个分析器之间的区别很小。
分析器的配置中可以选用一个或多个字符过滤器(character filter),字符过滤器是对原始文本进行字符流级别的操作。它通常可以用于大小写转化,去除字母上标等等。在字符过滤器之后是分词器(Tokenizer),它是必须要配置的。分析器会使用分词器将字符流切分成词元(Token)系列,通常用在空格处切分这种简单的算法。后面的步骤是可选的,比如词元过滤器(Token Filter)(一般简称过滤器),会对词元(Token)进行许多种操作。最后产生的词元会被称为词(Term),即用于Lucene实际索引和查询的单位。注意有些词元过滤器如WordDelimeterFilterFactory也进行分词操作,但是它们是在词元上操作,而真正的分词器是操作一个字符流。
最后,我有必须对autoGeneratePhraseQueries布尔属性补充两句,这个属性只能用于文本域。如果在查询文本分析时产生了多个词元,比如Wi-Fi分词为Wi和Fi,那么默认情况下它们只是两个不同的搜索词,它们没有位置上的关系。但如果autoGeneratePhraseQueries被设置,那么这两个词元就构造了一个词组查询,即“WiFi”,所以索引中“WiFi”必须相邻才能被查询到。在新Solr版本中,默认它被设置为false。我不建议使用它。
参考:http://www.cnblogs.com/lvfeilong/p/34545dghfdgf.html
发表评论
-
Elasticsearch中mapping全解实战
2022-03-23 10:01 166Elasticsearch中mapping全解实战 深入学习 ... -
如何快速搭建一个简易的ELK日志分析系统
2022-03-22 23:56 154如何快速搭建一个简易的ELK日志分析系统 -
ElasticSearch-ik分词器
2022-03-12 20:11 205ElasticSearch-ik分词器 利用Kibana来 ... -
解决elasticsearch配置network.host: 0.0.0.0导致elasticsearch服务启动不成功的问题
2022-03-10 13:53 1364解决elasticsearch配置network.host: ... -
ElasticSearch中keyword的属性ignore_above详解
2022-02-14 19:54 494ignore_above 含义 在ElasticSearch中 ... -
elasticsearch的keyword与text的区别
2022-01-05 15:46 168elasticsearch的keyword与text的区别 ... -
java使用ElasticSearch的RestHighLevelClient集群配置
2016-08-16 14:23 574Elasticsearch Guide elasticsea ... -
solr下载地址
2016-08-16 09:41 351http://lucene.apache.org/solr/d ... -
solrCloud源码分析之CloudSolrClient
2016-08-12 08:36 955CloudSolrClient是solrj提供的客户端与sol ... -
solr常用查询语句如何写
2016-08-12 08:34 399工作中用到solr,就自己工作中常用查询,简单总结下solr查 ... -
Solr的学习使用之(七)Solr高级查询facet、facet.pivot简介
2016-08-12 08:36 12781 、什么是Faceted Search Facet['fæ ... -
Solr JAVA客户端SolrJ 4.9使用示例教程
2016-08-12 08:37 440简介 SolrJ是操作Solr的JAVA客户端,它提供了增加 ... -
solr 3.5 配置及应用(三)
2016-08-12 08:37 372在solr 3.5 配置及应用(二)中在 Document文档 ... -
solr主从复制的原理
2016-08-11 11:20 736master的工作 对于Replicati ... -
Solr相关知识点串讲
2016-08-11 10:14 544Solr是Apache Lucene的一个子项目。Lucene ... -
solrj 更新部分索引域的值
2016-08-11 09:33 3052solrj可以用关键字set对索引进行部分字段更新: Has ...
相关推荐
solr中文分词jar包ik-analyzer 含class配置 ik-analyzer-7.5.0
IKAnalyzer中文分词器本身已经不支持最新的solr 5,集成到solr中分词会报错,这里将解决了solr 5支持问题的最新IK包共享出来,希望能帮到各位! 附上IK在schema.xml中的配置: <fieldType name="text_ik" class="...
solr6的中文分词器ik-analyzer-solr-6.0.jar,在solr上亲测可用
solr6对应的IKAnalyzer分词器jar包,使用方法: 1. 添加分词器的jar文件:在文件夹`contrib`下新建一个文件夹`rd-lib`,并将`IKAnalyzer2012_u6.jar`拷贝进来,这个文件夹用来存放第三方jar文件,后面做数据导入时候...
该分词器支持solr7.x
solr5.x(含5.4)可用的ikanalyzer中文分词 <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" /> ...
此为solr8的ikanalyzer中文分词包
solr分词器,solr分词器-ik-analyzer.7.4.0.jar7.4.0版本
支持Spring-data-solr1.5的ik分词器,并且修改了代码,添加一个新的类,用于支持同义词,目前可以同时支持分词和同义词的功能。 修改 managed-schema,添加 <fieldType name="text_lk" class="solr.TextField"> ...
Solr6.0集成IK-Analyzer分词器.docx IK-Analyzer-2015FF.jar
solr中文分词器 IKAnalyzer 支持solr版本5.x到7.x 亲测可用,我用的是7.2版本
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。此包兼容solr7.x
solr 5.4.0 完整包,包含ikanalyzer 中文分词器 只需修改web.xml中的索引目录指向地址。
solr4.X所用中文分词器jar,亲测可用,无需额外配置,解压后替换原有分词器jar及相关文件即可,文件及分词器说明解压后可见
solr中文分词器
适应solr5.x的中文分词IKAnalyzer
中文分词器ik-analyzer-solr5-5.x.jar,已经打包好,直接用就可以
solr-ik分词器的资源包,包括:ext.dic;ikanalyzer.cfg.xml;ik-analyzer-solr5-5.x.jar;solr-analyzer-ik-5.1.0.jar;stopword.dic 五个文件
solr5 IK-Analyzer中文分词。jar里面有IKAnalyzer.cfg.xml、stopword.dic