首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Elasticsearch。从查询中删除停用词-好主意还是坏主意?

从查询中删除停用词是一个好主意。停用词是指在文本中频繁出现但通常不携带有意义的词语,例如“a”、“the”、“is”等。在搜索引擎中,删除停用词可以提高搜索的准确性和效率。

删除停用词的优势包括:

  1. 提高搜索结果的相关性:停用词通常不携带有意义的信息,删除它们可以使搜索引擎更专注于含有实际关键词的文本,从而提高搜索结果的相关性。
  2. 减少索引大小:停用词在文本中频繁出现,删除它们可以减小索引的大小,节省存储空间和提高搜索性能。
  3. 加快搜索速度:删除停用词可以减少搜索引擎需要处理的词语数量,从而加快搜索速度。
  4. 改善用户体验:通过删除停用词,搜索引擎可以更准确地理解用户的意图,提供更相关的搜索结果,改善用户的搜索体验。

然而,需要注意的是,删除停用词也可能带来一些潜在的问题:

  1. 信息丢失:某些情况下,停用词可能携带有意义的信息,删除它们可能导致相关的文本被忽略。
  2. 特定领域的影响:在某些特定领域中,停用词可能具有特殊的意义,删除它们可能导致搜索结果的偏差。

综上所述,从查询中删除停用词是一个好主意,可以提高搜索的准确性和效率。然而,具体是否删除停用词应根据具体的应用场景和需求来决定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Elasticsearch自定义分词,从一个问题说开去

但是不知道为什么我在mapping里面添加停用词也不管用? 2、本文思路 问题出发,由浅入深逐步探讨 为什么需要分词? 文档转换为倒排索引,发生了什么?...推荐阅读:干货 | 论Elasticsearch数据建模的重要性 分词使用的时机: 1)创建或更新文档时,会对文档做分词处理。 2)查询时,会对查询语句进行分词处理。...4.3 token filters分词后再过滤 针对tokenizers处理后的字符流进行再加工,比如:转小写、删除删除用词)、新增(添加同义词)等。 是不是看着很拗口,甚至不知所云。...my_custom_index { "settings":{ "analysis":{ "char_filter":{}, "tokenizer":{}, "filter":{}, "analyzer":{} } } } 脑海中还是上面的三部分组成的图示...Li,LeiLei;Han,MeiMei;的构成,只能采用基于“;"分词方式。 核心问题3:支持姓名颠倒后的查询。 即:LeileiLi也能被检索到。 需要结合同义词实现。

1.3K20

ElasticSearch 如何使用 ik 进行中文分词?

在《为什么 ElasticSearch 比 MySQL 更适合复杂条件搜索》 一文,我们讲解了 ElasticSearch 如何在数据存储方面支持全文搜索和复杂条件查询,本篇文章则着重分析 ElasticSearch...在 ElasticSearch 中将这个分词的过程统称了 Text analysis,也就是将字段非结构化字符串(text)转化为结构化字符串(keyword)的过程。...:停用词,主要指英语的停用词,比如 a、such、that 等。...复制代码 在 loadDictFile 函数执行过程,会词典文件读取一行一行的词,交给 DictSegment 的fillSegment 函数处理。...,存入 AnalyzeContext;但是因为 码 已经是叶节点,并没有子节点,表示不是其他词的前缀,所以将对应的 Hit 对象删除掉; 接着拿单字 码 去字典树查询,看单字是否成词,或者构成词的前缀

3K30

好玩的ES--第二篇之高级查询,索引原理和分词器

移动到es安装目录的plugins目录 - [es@linux ~]$ ls elasticsearch-6.2.4/plugins/ [es@linux ~]$ mv elasticsearch...本地安装ik配置目录为 - es安装目录/plugins/analysis-ik/config/IKAnalyzer.cfg.xml 将解压完的压缩包删除 ---- docker方式处理插件: 前面两步不变...,还是先下载后解压缩 通过共享数据卷的方式,可以将lk插件放入es的plugins目录下 version: "3.0" volumes: data: config: networks:...定义扩展词典和停用词典可以修改IK分词器config目录IKAnalyzer.cfg.xml这个文件。 1. 修改vim IKAnalyzer.cfg.xml <?...在ik分词器目录下config目录创建ext_stopword.dic文件 vim ext_stopword.dic 加入停用词即可 4.重启es生效 注意: 词典的编码必须为UTF-8,否则无法生效

1.2K30

开源搜索和分析引擎Elasticsearche在Bay的性能优化实践,单集群日搜索请求超4亿

然后可以查询删除过滤子句。如果需要运行一个跨区域查询,可以将多个索引或通配符传递给Elasticsearch。 如果查询具有过滤字段并且其值不可枚举,请使用路由。...副本的作用一是提高系统的容错性,当某个节点某个分片损坏或丢失时可以副本恢复;二是提高Elasticsearch查询效率,Elasticsearch会自动对搜索请求进行负载均衡 ?...避免搜索停用词。诸如“a”和“the”这样的停用词可能导致查询命中结果计数爆炸。...可以使用停止标记过滤来删除用词,或使用“和”运算符将查询“the fox”更改为“the AND fox”,以获得更精确的结果。...如果某些词在索引中经常使用,但不在默认停用词列表,则可以使用截止频率来动态处理它们。 如果不关心文档返回的顺序,则按_doc排序。Elasticsearch使用“_score”字段按默认分数排序。

2K80

ElasticSearch 如何使用 ik 进行中文分词?

在《为什么 ElasticSearch 比 MySQL 更适合复杂条件搜索》 一文,我们讲解了 ElasticSearch 如何在数据存储方面支持全文搜索和复杂条件查询,本篇文章则着重分析 ElasticSearch...在 ElasticSearch 中将这个分词的过程统称了 Text analysis,也就是将字段非结构化字符串(text)转化为结构化字符串(keyword)的过程。...(Token filters),对上一步得到的词元继续进行处理,例如改变词元(小写化),删除词元(删除量词)或增加词元(增加同义词),合并同义词等。...:停用词,主要指英语的停用词,比如 a、such、that 等。...存入 AnalyzeContext;但是因为 码 已经是叶节点,并没有子节点,表示不是其他词的前缀,所以将对应的 Hit 对象删除掉; 接着拿单字 码 去字典树查询,看单字是否成词,或者构成词的前缀。

1.5K10

ElasticSearch 小白入门到精通

ES 的用途主要有以下的用途:应用程序搜索网站搜索 企业搜索日志处理基础设施指标和容器监测应用程序性能监测地理空间数据分析和可视化安全分析业务分析工作原理多个来源输入到 ES ,数据在 ES 中进行索引和解析...这些数据在 ES 索引完成之后,用户就可以针对他们的数据进行复杂的查询,并使用聚合来检索这些数据,在 Kibana ,用户可以创建数据可视化面板,并对 ELK 进行管理。...ES 还是一个实时搜索平台。文档索引操作到文档变为可搜索之间速度很快。 ES 具有分布式的特征:ES 中保存的文档分布在不同的容器,这些容器为分片,可以对分片进行复制并形成冗余副本。.../v7.3.2/elasticsearch-analysis-ik-7.3.2.zip重启 ES:docker restart es测试:查看分词器是否安装上:ES 查询查询查询将会返回一个索引库中所有文档...• stop 语汇单元过滤器,删除用词—对搜索相关性影响不大的常用词,如 a、the、and、is。在下面的例子,创建了一个新的分析器 es_std,并使用预定义的西班牙语停用词列表。

9410

面试之Solr&Elasticsearch

,在内存初始化一个词典,然后在分词过程逐个读取字符,和字典的字符相匹配,把文档的所有词语拆分出来的过程 solr的索引查询为什么比数据库要快 Solr使用的是Lucene API实现的全文检索。...如何分词,新增词和禁用词如何解决 schema.xml文件配置一个IK分词器,然后域指定分词器为IK 新增词添加到词典配置文件ext.dic,禁用词添加到禁用词典配置文件stopword.dic,...然后在schema.xml文件配置禁用词典: solr多条件组合查询 创建多个查询对象,指定他们的组合关系,Occur.MUST(必须满足and),Occur.SHOULD(应该满足or),Occur.MUST_NOT...d.使用ELASTICSEARCH删除文档内容。 Elasticsearch的倒排索引是什么? 倒排索引是搜索引擎的核心。搜索引擎的主要目标是在查找发生搜索条件的文档时提供快速搜索。...倒排索引是一种像数据结构一样的散列图,可将用户单词导向文档或网页。它是搜索引擎的核心。其主要目标是快速搜索数百万文件查找数据。 一般情况下,像下面的一样,在书中我们已经倒过来索引。

2K10

Elasticsearch数据操作原理

而在"倒排索引",我们词项出发,记录下每个词项出现在哪些文档,这样就可以知道每个词项被哪些文档包含。...去除停用词:停用词是一些常见的、没有太多实际意义的词,如英语的 “the”、“is”、“at” 等。去除停用词可以减少倒排索引的大小,提高搜索的效率。...更新倒排索引:虽然文档被标记为已删除,但是它的词项仍然存在于倒排索引。因此,Elasticsearch 会更新倒排索引,将已删除文档的词项倒排索引移除。...然而,你可以通过以下方式来尽可能地恢复被删除的数据: 备份和恢复:如果你有定期备份 Elasticsearch 数据,你可以备份恢复被删除的数据。...因此,最好的策略还是定期备份数据,以防止数据丢失。

25420

ElasticSearch 6.x 学习笔记:16.全文检索

match_phrase查询会将查询内容分词,分词器可以自定义,文档同时满足以下两个条件才会被检索到: 分词后所有词项都要出现在该字段 字段的词项顺序要一致 (1)创建索引,插入数据 PUT test...(前缀查询) https://www.elastic.co/guide/en/elasticsearch/reference/6.1/query-dsl-match-query-phrase-prefix.html...16.5 common_terms 查询(常用词查询) https://www.elastic.co/guide/en/elasticsearch/reference/6.1/query-dsl-common-terms-query.html...文本经过分词之后,停用词通常被过滤掉,不会被进行索引。在检索的时候,用户的查询如果含有停用词,检索系统也会将其过滤掉(因为用户输入的查询字符串也要进行分词处理)。...排除停用词可以加快建立索引的速度,减小索引库文件的大小。 (2)虽然停用词对文档评分影响不大,但是有时停用词仍然具有重要意义,去除停用词显然不合适。

32710

ElasticSearch 分析与分析器

这个过程可能会改变词条(例如,将 Quick 转为小写),删除词条(例如,删除像 a、and、the 这样的停用词),或者增加词条(例如,像 jump 和 leap 这样的同义词)。...例如,english 分析器自带一套英语停用词库(像 and 或 the 这些与语义无关的通用词),分析器将会这些词移除。由于理解英语语法的规则,这个分词器可以提取英语单词的词干。...不过,当我们在全文字段搜索(search)时,我们要让查询字符串经过同样的分析流程处理,以确保这些词条在索引存在。...测试分析器 尤其当你是Elasticsearch新手时,对于如何分词以及存储到索引理解起来比较困难。为了更好的理解如何进行,你可以使用analyze API来查看文本是如何被分析的。...指定分析器 当Elasticsearch在你的文档检测到一个新的字符串字段,自动设置它为全文string字段并用 standard 分析器分析。 你不希望总是这样。

1.1K30

ElasticSearch权威指南:基础入门(下)

stop 语汇单元过滤器,删除用词--对搜索相关性影响不大的常用词,如 a , the , and , is 。 默认情况下,停用词过滤器是被禁用的。...一个别名可以指向多个索引,所以我们在添加别名到新索引的同时必须旧的索引删除它。...当一个文档被 “删除” 时,它实际上只是在 .del 文件中被 标记 删除。一个被标记删除的文档仍然可以被查询匹配到, 但它会在最终结果被返回前结果集中移除。...当你试着通过ID查询、更新、删除一个文档,它会在尝试相应的段检索之前, 首先检查 translog 任何最近的变更。这意味着它总是能够实时地获取到文档的最新版本。 ?...Elasticsearch通过在后台进行段合并来解决这个问题。小的段被合并到大的段,然后这些大的段再被合并到更大的段。 段合并的时候会将那些旧的已删除文档 文件系统清除。

3.8K42

Redis 也支持全文搜索 了?这也太强了

像是 Elasticsearch 中常用中文分词插件可以用 RediSearch 替代,但是拼音转中文插件在 RediSearch 还没有功能替代,只能通过个人手段处理。...在 newbee-mall-pro 项目中,拼音搜索我是通过先将中文转拼音后作为拼音字段存入 Redis ,再通过 RediSearch 查询拼音字段来实现的。...目前 RediSearch 最新版支持的查询功能也比较丰富了,除了基本的文本分词还支持聚合统计、停用词、同义词、拼写检查、结果排序、标签查询、向量相似度查询以及中文分词等。...对比 Elasticsearch基本硬件数据源RediSearch 配置Elasticsearch 配置版本索引构建测试在官方提供的索引构建测试,RediSearch 用 221 秒的速度超过了 Elasticsearch...如果想要在生产环境大规模使用,我还是不太建议的。

1K20
领券