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

默认情况下在elasticsearch中禁用字段分析

终子昂
2023-03-14
问题内容

是否可以为类型选择性地启用elasticsearch字段的索引?

通过特定索引的映射设置,可以设置属性

{“ index”:“ not_analyzed”}

对于特定领域。由于我的文档中的字段太多,并且将来可能会更改结构,因此我需要一个映射,除非另行指定,否则默认情况下不会分析字段。

这可能吗?


问题答案:

是的-
看一下动态模板

请尝试以下操作:

PUT /my_index
{
  "mappings": {
    "my_type": {
        "dynamic_templates": [
            { "notanalyzed": {
                  "match":              "*", 
                  "match_mapping_type": "string",
                  "mapping": {
                      "type":        "string",
                      "index":       "not_analyzed"
                  }
               }
            }
          ]
       }
   }
}

动态模板适用于您的映射未涵盖的新字段-来自文档:

使用dynamic_templates,您可以完全控制为新检测到的字段生成的映射。

您也可以根据字段名称更改映射,例如使用"match": "*_data",以使以“ _data”结尾的字段名称具有不同的映射集。



 类似资料:
  • 问题内容: 在我的映射中包含此字段 我尝试执行此聚合 但我得到这个错误 我必须更改映射还是使用错误的聚合?(仅从2.x更新到5.1) 问题答案: 您需要在子字段上进行汇总,如下所示: 那可行。

  • 我们目前使用Elasticsearch来存储由Filebeat发送的Spring Boot应用程序日志,并使用Kibana来可视化这一点。 我们的整个架构都是在一个docker-compose文件中进行docker化的。目前,当我们启动堆栈时,我们必须等待Elasticsearch启动,然后放置我们的摄取管道,然后重新启动Filebeat,只有这样我们的日志才会正确显示在Kibana中。 我对此很

  • 问题内容: 我有一个关于乐观锁定Hibernate的问题。我试图深入了解Hibernate的乐观锁定,但是我有一个疑问。Hibernate使用版本方法(整数或时间戳)来实现乐观锁定。要进行配置,您可以使用@Version批注(或xml配置)并创建一个version属性。另一个选项是使用optimistic- lock =“ all”属性进行配置而不进行版本控制。 我的问题是,如果您没有定义任何版本

  • 默认情况下,我们的路由器是Yaf_Router, 而默认使用的路由协议是Yaf_Route_Static,是基于HTTP路由的, 它期望一个请求是HTTP请求并且请求对象是使用Yaf_Request_Http

  • 我是否可以反转曝光,以便显式地启用导出字段,默认情况下不公开字段? 使用Spring数据在这里Rest,所以其他所有的东西都只是存储库,没有额外的层来做一些聪明的事情。

  • 问题内容: 我正在使用以下方法在ES中创建动态映射: 因此,每当我为具有字段()的文档建立索引时,它都会自动创建具有类型的字段()。因此,每当没有a时,我都会发送一个空字符串,然后引发异常。 有什么办法可以解决这个问题?我可以指定默认值吗? 问题答案: 您可以添加到所有字段,也可以全局设置: 仅字段: 全局设置 :