Elasticsearch的停用词(stopwords)】的更多相关文章

1.问题 在使用搜索引擎(Elasticsearch或Solr)作为应用的后台搜索平台的时候,会遇到停用词(stopwords)的问题. 在信息检索中,停用词是为节省存储空间和提高搜索效率,处理文本时自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词).停用词大致分为两类.一类是语言中的功能词,这些词极其普遍而无实际含义,比如“the”.“is“.“which“.“on”等.另一类是词汇词,比如'want'等,这些词应用广泛,但搜索引擎无法保证能够给出真正相关的搜索结果,难以缩…
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch的停用词 1.有些词在文本中出现的频率非常高,但是对文本所携带的信息基本不产生影响. 2.英文 a.an.the.of 3.中文 的.了.着.是 .标点符号等 4.文本经过分词之后,停用词通常被过滤掉,不会被进行索引. 5.在检索的时候,用户的查询中如果含有停用词,检索系统也会将其过滤掉(因为用户输入的查询字符串也要进行分词处理). 6.排除停用词可以加快建立…
ElasticSearch 2 (24) - 语言处理系列之停用词:性能与精度 摘要 在信息检索早期,磁盘和内存相较我们今天的使用只是很小的一部分.将索引空间保持在一个较小的水平是至关重要的,节省每个字节都意味着巨大的性能提升.词干提取(参见 缩减单词至词根形式(Reducing Words to Their Root Form))的重要性不仅是因为它让搜索的内容更广泛.让检索的能力更深入,还因为它是压缩索引空间的工具. 要减少索引空间的另一个简单的方法就是索引更少的词.在搜索中,有些词要比其他…
正向索引的结构如下: “文档1”的ID > 单词1:出现次数,出现位置列表:单词2:出现次数,出现位置列表:…………. “文档2”的ID > 此文档出现的关键词列表. 一般是通过key,去找value.  当用户在主页上搜索关键词“华为手机”时,假设只存在正向索引(forward index),那么就需要扫描索引库中的所有文档,找出所有包含关键词“华为手机”的文档,再根据打分模型进行打分,排出名次后呈现给用户.因为互联网上收录在搜索引擎中的文档的数目是个天文数字,这样的索引结构根本无法满足实时…
介绍 在使用elasticsearch进行搜索业务的时候,发现一篇和搜索关键字完全不匹配的文章排在最前面.打开它发现原来是这篇文章含有非常多的"的"这个无意义的词.而我的搜索关键字假设为"历史上的 今天",它可能就被ik_max_word分词后,刚好就有"的"这个词.所以会造成一篇含有很多"的"的文章,即使跟搜索关键字无关,也可能得分很高,排在前面. 那么我们需要做的就是如何对这些无意义的词——停用词进行屏蔽. 操作 其实这个…
IK分词器虽然自带词库 但是在实际开发应用中对于词库的灵活度的要求是远远不够的,IK分词器虽然配置文件中能添加扩展词库,但是需要重启ES 这章就当写一篇扩展了 其实IK本身是支持热更新词库的,但是需要我感觉不是很好 词库热更新方案: 1:IK 原生的热更新方案,部署一个WEB服务器,提供一个Http接口,通过Modified和tag两个Http响应头,来完成词库的热更新 2:通过修改IK源码支持Mysql定时更新数据 注意:推荐使用第二种方案,也是比较常用的方式,虽然第一种是官方提供的,但是官方…
最近学习主题模型pLSA.LDA,就想拿来试试中文.首先就是找文本进行切词.去停用词等预处理,这里我找了开源工具IKAnalyzer2012,下载地址:(:(注意:这里尽量下载最新版本,我这里用的IKAnalyzer2012.zip 这本版本后来测试时发现bug,这里建议IKAnalyzer2012_u6.zip)) https://code.google.com/p/ik-analyzer/ 由于太多,而且名称我也搞不清楚,不知道下载哪个.后来我下载了IKAnalyzer2012.zip 压缩…
首先是用于显示分词信息的HelloCustomAnalyzer.java package com.jadyer.lucene; import java.io.IOException; import java.io.StringReader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.toke…
package com.yl.wordcount import java.io.File import org.apache.spark.{SparkConf, SparkContext} import scala.collection.Iteratorimport scala.io.Source /** * wordcount进行排序并排除停用词 */object WordCountStopWords { def main(args: Array[String]) { val conf = n…
附注:不要问我为什么写这么快,是16年写的. R的优点:免费.界面友好(个人认为没有matlab友好,matlab在我心中就是统计软件中极简主义的代表).小(压缩包就几十M,MATLAB.R2009b的压缩包是1.46G).包多(是真的多,各路好友会经常上传新的包). R的麻烦之处:经常升级,是经常,非常经常,这就导致你在加载一个包之前需要考虑这个包要在R的哪个版本上才能使用,而往往做一件事情都要加载10个包左右,一般比较方便的做法就是先升级到最新版,因为只有小部分的包在新版本上不能用. 言归正…