# KV Processor（KV 处理器）

原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.3/kv-processor.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.3/kv-processor.html)

译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=10028238](http://www.apache.wiki/pages/viewpage.action?pageId=10028238)

贡献者 : [那伊抹微笑](/display/~wangyangting)，[ApacheCN](/display/~apachecn)，[Apache中文网](/display/~apachechina)

该 **processor**（处理器）有助于自动解析那些 **foo**=**bar** 样式的消息（或者指定事件字段）。

例如，如果您有一个包含 **ip=1.2.3.4 error=REFUSED** 的日志消息，您可以通过如下配置来自动的解析它们 : 

```
{
  "kv": {
    "field": "message",
    "field_split": " ",
    "value_split": "="
  }
}
```

## Table 24. Kv Options（表 24\. Kv 选项）

| Name（名称） | Required（必要的） | Default（默认值） | Description（描述） |
| --- | --- | --- | --- |
| **`field`** | **yes** | **-** | 要解析的 **field**（字段） |
| **`field_split`** | **yes** | **-** | 用于拆分 **key-value** 格式的 **Regex pattern**（正则表达式模式） |
| **`value_split`** | **yes** | **-** | 用于拆分来自 **key-value** 对中 **value** 的 **key** 的 **Regex pattern**（正则表达式模式） |
| **`target_field`** | **no** | **`null`** | 提取所抽取的 **key** 要插入的 **field**（字段）。默认为 **document**（文档）的 **root**（根部） |
| **`include_keys`** | **no** | **`null`** | 过滤出要插入到 **document**（文档）中 **key** 的列表。默认为包括所有的 key。 |
| **`ignore_missing`** | **no** | **`false`** | 如果该值为 **true** 并且 **field**（字段）不存在或为 **null**，则该 **processor**（处理器）静默退出且不修改 **document**（文档） |