分词

CDH6.x Solr7.x 集成 Ik 分词

喜你入骨 提交于 2019-12-23 18:05:11
下载ik相关jar包: 链接:https://pan.baidu.com/s/19fydKWw15g8rPg4LW1cOtw 提取码:f2l8 在CDH安装目录下 查找CDH6 solr 的启动目录 [root@hostname1 ~]# find /opt -name WEB-INF |grep 'solr' /opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/solr/server/solr-webapp/webapp/WEB-INF 进入该目录下的lib目录,可以查看到相关jar包 将我们刚刚下载的ik分词两个jar包放入lib目录下 ik-analyzer-solr5-5.x.jar , solr-analyzer-ik-5.1.0.jar 修改权限 chmod 777 solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar 分发到所有solr服务器中 重启Solr服务 在 schema.xml 中添加solr配置,并给字段配置该类型,Mpophlines文件(Key-Value Store Indexer 配置文件)配置不需要改变 <field name="hbase_indexer_user_fn_name" type="text_ik"

20191026 elasticSearch 搜索服务

跟風遠走 提交于 2019-12-23 09:51:52
文章目录 Lucene 数据分类 Lucene 简介 倒排索引* Lucene 架构 ElasticSearch 分布式安装 基础环境 安装工作 注意 中文分词器 REST REST 简介 REST 操作 ES 内置的 REST 接口 curl 命令 curl 使用 ES 操作 ES API操作 Lucene 数据分类 结构化(关系型数据库),全文检索 表:字段数量,字段类型 非结构化: 文本文档,图片,视频,音乐… 半结构化: json,html,xml Lucene 简介 Lucene 是 Apache 软件基金会的一个项目,是一个开发源码的全文检索引擎工具包,是一个全文检索引擎的一个架构。提供了完成的查询引擎和检索引擎,部分文本分析引擎。 官方解释: Lucene is a Java full-text search engine. Lucene is not a complete application, but rather a code library and API that can easily be used to add search capabilities to applications. 倒排索引* 通俗解释,我们通常都是通过查找文件位置及文件名,再查找文件的内容。倒排索引可以理解为通过文件内容来查找文件位置及文件名的。 倒排索引是一种索引方法

简单理解TF-IDF算法

孤街醉人 提交于 2019-12-21 23:39:32
前言 在对文本信息处理得过程中,我们会使用分词工具对文本字符串进行分词处理,然后进行频率统计,就会明白文本字符串中关键词的重要性占比。 但是,问题来了,难道,诸如: “所以”、“也许”、“或者”… 这样的词能说明其很重要?答案当然是否! 所以,TF-IDF算法就来解决了这一问题。 原理 Tf,也就是term frequency,它代表了词的频率(“词频”); 可以这样计算 : 词频 = 某词在文章中出现的次数/文章中总词的次数 idf,也就是inverse document frequency,代表了逆文档频率 可以这样计算: 逆文档频率 = log(总文档数/出现该词的文档数) 该词的重要性就是:拿词频*逆文档频率即可。 也就是: 词的重要性 = Tf * idf ps: 关于log,我多介绍一下,请先看这个链接: 对数函数(log) : 根据log函数的单调性(此时e=a>1),它是单调递增的,于是得出, 当一个词在所有文档中出现的次数越多,其越不重要,也就是诸如“所以”、“也许”、“或者”…会在数据分析的权重中被稀释掉。 实际应用 TfidfVectorizer()这个类实现了该算法 没有表现出“重要性”的代码片 # coding: utf-8 import jieba from sklearn . feature_extraction . text import

中文搜索引擎技术揭密:中文分词

99封情书 提交于 2019-12-21 05:48:56
中文搜索引擎技术揭密:中文分词 前言 信息的飞速增长,使搜索引擎成为人们查找信息的首选工具,Google、百度、yisou、中搜等大型搜索引擎一直人们讨论的话题。随着搜索市场价值的不断增加,越来越多的公司开发出自己的搜索引擎,阿里巴巴的商机搜索、8848的购物搜索等也陆续面世,自然,搜索引擎技术也成为技术人员关注的热点。 搜索引擎技术的研究,国外比中国要早近十年,从最早的Archie,到后来的Excite,以及altvista、overture、google等搜索引擎面世,搜索引擎发展至今,已经有十几年的历史,而国内开始研究搜索引擎是在上个世纪末本世纪初。在许多领域,都是国外的产品和技术一统天下,特别是当某种技术在国外研究多年而国内才开始的情况下。例如操作系统、字处理软件、浏览器等等,但搜索引擎却是个例外。虽然在国外搜索引擎技术早就开始研究,但在国内还是陆续涌现出优秀的搜索引擎,像百度、中搜等。目前在中文搜索引擎领域,国内的搜索引擎已经和国外的搜索引擎效果上相差不远。之所以能形成这样的局面,有一个重要的原因就在于中文和英文两种语言自身的书写方式不同,这其中对于计算机涉及的技术就是中文分词。 什么是中文分词 众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思。例如,英文句子I am a student,用中文则为:

Scanner的用法

会有一股神秘感。 提交于 2019-12-20 08:49:40
import java.util.Scanner; public class sum { public static void main(String[]args){ //从键盘读取若干整数并求和输出 int nextValue; int sum=0; Scanner sr = new Scanner(System.in);//创建从键盘读取数据的对象 sr.useDelimiter("\s");//设置空格为数据的分隔符 while(sr.hasNextInt())//判断有没有int型的输入 { nextValue = sr.nextInt();//读取从键盘输入的整数 sum += nextValue; } //System.out.println("sum:"+sum); System.out.printf("Sum: %d",sum); sr.close(); Scanner的构造器可以接受任何类型的输入对象,包括File对象.InputStream.String或者Readable对象。Readable是Java SE5中新加入 的一个接口,表示“具有reader()方法的某种东西”。有了Scanner,所有的输入.分词以及翻译的操作都隐藏在不同类型的next方法中。普 通的next()方法返回下一个String.所有的基本类型(除char之外)都有对应的next方法

solr中文分词

自作多情 提交于 2019-12-18 12:24:35
solr分词,就是solr配置的字段类型根据注册的分词文件分词断句的行为。 例如:你们村村通工程知道吗? 不分词的时候会是这样: 分词的话,我们把“村村通工程 ”名词化,分词结果为: 说说中文分词 中文分词器有多中,常用的有 IKAnalyzer、 mmseg4j。 前者最新版本更新到2012年,所以使用的时候要注意可能版本上有不兼容的情况, 由于它是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版本开始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化 。 使用方法,需要下载相应的jar、配置文件, 我这里分享了一个链接 。 将ik的相关文件 拷贝到 solr工程的lib目录,配置 schema.xml 文件, 同时,把需要分词的字段,设置为text_ik,: <!-- 需要分词的字段 --> <field name="content" type="text_ik" indexed="true" stored="true" required=

使用 Solr 构建企业级搜索服务器

做~自己de王妃 提交于 2019-12-18 10:03:58
最近因项目需要一个全文搜索引擎服务, 在考察了Lucene及Solr后,我们选择了Solr. 本文简要记录了基于Solr搭建一个企业搜索服务器的过程.网上的资料太多千篇一律,也可能版本不同,总之在参照的时候并不顺利,因此在通过官网的介绍并逐步实践的基础上,我们整理了这个文档,希望能帮助到有类似需求的大家. Solr 介绍 Solr 是一个基于Lucene技术的企业级搜索应用服务器, 运行在JVM环境中, 对外以类似webservice http模式提供接口.可简单的通过配置的形式实现一个企业级的搜索服务. 安装与部署 JDK环境配置 安装配置jdk, 并设置 JAVA_HOME 环境变量, ps: 楼主最开始使用的是1.8的版本, 也挺正常, 但后面因为在尝试导入sqlserver 2014数据库数据的时候,可能是楼主下载的mssql-jdbc.jar 包比较新的原因, 总是出现类似版本过低的提示, 便直接升级到了最新的jdk11版本. 下载Solr包及配置运行环境 去Solr官网下载程序包 ,楼主下载了最新的7.5版本 http://www.apache.org/dyn/closer.lua/lucene/solr/7.5.0 Solr 本身内置了Severlet, 故可直接运行, 当然如果不习惯,也可以将其挂在类似 tomcat 等其他Serverlet 容器下运行.

TF-IDF提取行业关键词

妖精的绣舞 提交于 2019-12-18 05:36:29
1. TF-IDF简介 TF-IDF(Term Frequency/Inverse Document Frequency)是信息检索领域非常重要的搜索词重要性度量;用以衡量一个关键词 \(w\) 对于查询(Query,可看作文档)所能提供的信息。 词频 (Term Frequency, TF)表示关键词 \(w\) 在文档 \(D_i\) 中出现的频率: \[ TF_{w,D_i}= \frac {count(w)} {\left| D_i \right|} \] 其中, \(count(w)\) 为关键词 \(w\) 的出现次数, \(\left| D_i \right|\) 为文档 \(D_i\) 中所有词的数量。 逆文档频率 (Inverse Document Frequency, IDF)反映关键词的普遍程度——当一个词越普遍(即有大量文档包含这个词)时,其IDF值越低;反之,则IDF值越高。IDF定义如下: \[ IDF_w=\log \frac {N}{\sum_{i=1}^N I(w,D_i)} \] 其中, \(N\) 为所有的文档总数, \(I(w,D_i)\) 表示文档 \(D_i\) 是否包含关键词,若包含则为1,若不包含则为0。若词 \(w\) 在所有文档中均未出现,则IDF公式中的分母为0;因此需要对IDF做平滑(smooth): \[ IDF_w=

sphinx的安装

情到浓时终转凉″ 提交于 2019-12-18 05:27:39
一、 Sphinx简介 Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检索引擎。意图为其他应用提供高速、低空间占用、高结果 相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。 Sphinx的特性如下: a) 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒); b) 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒); c) 可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可 处理100 M 文档); d) 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法; e) 支持分布式搜索; f) 支持短语搜索 g) 提供文档摘要生成 h) 可作为MySQL的存储引擎提供搜索服务; i) 支持布尔、短语、词语相似度等多种检索模式; j) 文档支持多个全文检索字段(最大不超过32个); k) 文档支持多个额外的属性信息(例如:分组信息,时间戳等); l) 支持断词; 虽然mysql的MYISAM提供全文索引,但是性能却不敢让人恭维,另外数据库毕竟不是很善于做这样的事情,我们需要把这些活让给更适合的程序去做,减少数据库的压力

Java开发环境之Solr

一个人想着一个人 提交于 2019-12-17 07:10:13
查看更多Java开发环境配置,请点击 《Java开发环境配置大全》 玖章:Solr安装教程 1)官网下载Solr安装包 http://lucene.apache.org/solr/downloads.html 2)安装Solr5以前版本 2.1 安装Solr 选择无中文目录,解压缩Sorl安装包即安装完成; 2.2 复制Solr的war包到Tomcat 将D:\solr\solr-4.10.3\solr-4.10.3\example\webapps路径下的war包放入到Tomcat下的D:\apache-tomcat-8.5.4-windows-x64\apache-tomcat-8.5.4\webapps里面,启动tomcat,自动解压缩该war包,解压之后就可以删除该war包; 2.3 复制Solr的jar包到Tomcat下的Sorl 复制D:\solr\solr-4.10.3\solr-4.10.3\example\lib\ext下的所有jar包,将它们放入到D:\apache-tomcat-8.5.4-windows-x64\apache-tomcat-8.5.4\webapps\solr\WEB-INF\lib里面; 复制D:\solr\solr-4.10.3\solr-4.10.3\example\resources下的log4j.properties,将它放入到D: