定义字段映射
编辑定义字段映射编辑
您必须在 _meta/fields.yml
中定义 Beat 使用的字段及其映射详细信息。编辑此文件后,运行 make update
。
在 fields
数组中定义字段映射
- key: mybeat title: mybeat description: These are the fields used by mybeat. fields: - name: last_name type: keyword required: true description: > The last name. - name: first_name type: keyword required: true description: > The first name. - name: comment type: text required: false description: > Comment made by the user.
|
|
|
|
|
|
|
映射参数编辑
您可以为每个字段指定其他映射参数。有关每个参数的更多详细信息,请参阅Elasticsearch 参考。
|
指定字段使用的自定义日期格式。 |
|
对于 |
|
字段是否已启用。 |
|
索引时要使用的分析器。 |
|
搜索时要使用的分析器。 |
|
适用于 |
|
动态字段控制。 可以是 |
|
是否应该索引该字段。 |
|
是否应该为该字段生成文档值。 |
|
要将字段值复制到哪个字段中。 |
|
Elasticsearch 忽略(不索引)长度超过指定值的字符串。 如果缺少此属性值或为 |
例如,您可以使用 copy_to
映射参数在索引时将 last_name
和 first_name
字段复制到 full_name
字段中
- key: mybeat title: mybeat description: These are the fields used by mybeat. fields: - name: last_name type: text required: true copy_to: full_name description: > The last name. - name: first_name type: text required: true copy_to: full_name description: > The first name. - name: full_name type: text required: false description: > The last_name and first_name combined into one field for easy searchability.
还有一些特定于 Kibana 的属性,此处未详细介绍。 它们是:analyzed
、count
、searchable
、aggregatable
和 script
。 Kibana 参数也可以使用 pattern
、input_format
、output_format
、output_precision
、label_template
、url_template
和 open_link_in_current_tab
来描述。
定义文本多字段编辑
使用文本字段时,您可以应用各种选项。 您可以使用默认分析器定义一个简单的文本字段,而无需任何其他选项,如前面示例所示。
要在使用 text
映射时保留原始关键字值(例如,用于聚合或排序),您可以使用多字段映射
- key: mybeat title: mybeat description: These are the fields used by mybeat. fields: - name: city type: text multi_fields: - name: keyword type: keyword
|
|
|
|
|
有关更多信息,请参阅有关多字段的 Elasticsearch 文档。
内联定义文本分析器编辑
可以在字段映射参数中使用字段定义内联定义新的文本分析器或搜索分析器。
例如,您可以定义一个新的文本分析器,该分析器不会拆分连字符连接的名称
- key: mybeat title: mybeat description: These are the fields used by mybeat. fields: - name: last_name type: text required: true description: > The last name. analyzer: mybeat_hyphenated_name: type: pattern pattern: "[\\W&&[^-]]+" search_analyzer: mybeat_hyphenated_name: type: pattern pattern: "[\\W&&[^-]]+"
内联定义的自定义分析器的名称不能重复用于其他文本分析器。 如果重复使用文本分析器名称,则会检查其是否与分析器的现有实例匹配。 建议分析器名称以 beat 名称作为前缀,以避免名称冲突。
有关更多信息,请参阅有关定义自定义文本分析器的 Elasticsearch 文档。