当前位置: 首页 > 面试题库 >

禁用Elasticsearch搜索分析器

法镜
2023-03-14
问题内容
  • 我正在研究Elasticsearch 7.2版,并且正在
    改善
    应用程序发出的ES调用的性能。

  • 根据我的阅读,如果我们尚未设置“搜索分析器”,则默认情况下将设置标准分析器。

  • 但是,在不需要分析仪的情况下,安装分析仪可能会影响性能。是否将所有字段都用作“关键字”可以防止这种情况?
  • 还是有其他方法可以禁用此“搜索分析器”

附言:对于任何答案,如果您能指出我基于答案的ES官方文档,我将不胜感激。


问题答案:

在多种情况下,搜索分析器都会出现。

查询类型
:-分析了一些查询,有些则没有。像匹配查询一样被分析的查询在索引映射中定义的字段上使用相同的分析器,而像术语查询这样的查询则不使用任何搜索时间分析器。
也是ES官方文档的摘录

匹配查询的类型为布尔值。这意味着将对提供的文本进行分析,并且分析过程将从提供的文本中构造一个布尔查询。

字段类型
:默认情况下会分析文本字段,而标准分析器是默认的分析器,因此,如果您没有在索引映射中为文本字段定义分析器,然后进行匹配查询,它将使用该standard分析器,但如果使用term查询,则不会使用搜索时间分析器。
虽然如果您使用keyword字段,那么它将使用关键字分析器,它是无操作分析器,因此,对于关键字字段的匹配查询,它将使用关键字分析器,但本质上就像不应用搜索时间分析器一样。

如果您使用的是匹配查询或使用搜索时间分析器的任何其他分析查询,则可以明确地将搜索时间分析器称为关键字分析器,正如我所解释的那样,它是无操作分析器,因此生成令牌将非常有效。

同时,我还将研究是否可以显式禁用搜索时间分析器。



 类似资料:
  • 问题内容: 我正在使用Elasticsearch构建URL索引。 我将一个URL提取为3个部分,分别是“域”,“路径”和“查询”。 例如:将分为 当我想在索引中部分搜索域时出现问题,例如“ user = who”或“ ing.com”。 甚至在索引时没有使用“ Analyzer”时,是否可以使用“ Analyzer”? 如何基于分析仪进行部分搜索? 非常感谢你。 问题答案: 2种方法: 1.通配符

  • 我正在使用ElasticSearch5,找不到以下问题的解决方案:我想在文档中搜索带斜杠的字符串(url的一部分)。但它不会返回匹配的文档。我读过一些东西,带斜线的字符串被ES拆分,这不是我想要的字段。我尝试用映射在字段上设置“not_analysis”,但似乎无法使其工作。 “创建索引”:Put http://localhost:9200/test “添加文档”:post http://loca

  • 问题内容: 我已经下载了包含技能分类法的onet数据集,并将其上传到了Elasticsearch中。在技​​能分类中,有一些技能,例如c ++ 、. net,C#。我想给c#并且只获得c#的技能。通过检查一些链接,我已如下设置索引的映射和设置。 当我使用如下查询 我正在获得所有具有“ c”的技能 当我使用以下查询时假设应用了分析器 我得到空输出。我是否正确包括了分析仪,或者我的查询错误? 问题答案

  • 我有一个带有标准分析器的弹性搜索集群。我知道使用这个分析仪,术语“300”被分析为一种类型。 假设我正在搜索一个具有字段“name”的文档,该字段的值为“纸巾300 CT”,分析为[“Paper”(ALPHANUM)、“tower”(ALPHANUM)、“300”(NUM)、“CT”(ALPHANUM)] 目前,当我使用模糊/通配符查询时,如下所示: 无论模糊性如何调整,模糊查询都不匹配。我希望术

  • 主要内容:多索引此API用于在Elasticsearch中搜索内容。 用户可以通过发送具有查询字符串的获取请求作为参数或在请求的消息正文中的查询来进行搜索。所有的搜索API都是多索引,多类型。 多索引 Elasticsearch允许我们搜索存在于所有索引或一些特定索引中的文档。 例如,如果我们需要搜索名称包含的所有文档。 响应 或者,同样地我们可以在,索引中搜索 - 多类型 还可以在所有类型或某种指定类型的索引中

  • 我正在使用Elasticsearch 1.7.3为分析报告积累数据。 我有一个保存文档的索引,其中每个文档都有一个名为“duration”(请求花费了多少毫秒)的数字字段和一个名为“component”的字符串字段。可能有许多文档具有相同的组件名称。 例如。 我想生成一份报告,说明每个组件: 此组件的所有“持续时间”字段的总和。 此总数占所有文档总持续时间的百分比。在我的例子中 每个组件的文档占总