如何将xml存储为elasticsearch中的字段?

时间:2017-07-17 06:44:25

标签: json xml elasticsearch

我想将xml存储为elasticsearch中的字段。我的目的只是存储xml并检索它。我不想对xml数据执行任何搜索。

**Sample xml** : 
<?xml version="1.0" encoding="UTF-8"?>
<sample>
<name>abc</name>
</sample>

注意:我不想将xml转换为json。我想直接在弹性搜索索引中将此示例xml原样写入,并且只是想在存储后检索它。

2 个答案:

答案 0 :(得分:1)

这不是解决这个问题的正确方法,但我想到的是 将数据发布到ES时,提供三个双引号(“”“)而不是一个(”)。我想这是一个临时解决方案:

POST my_index/test 
{ 
   "xml" : """<?xml version="1.0" encoding="UTF-8"?> 
              <sample> 
              <name>abc</name> 
              </sample>""" 
}

答案 1 :(得分:0)

由于您不打算将该字段用于搜索和简单检索,我建议您在映射中添加一个简单的“xml”字符串字段,如下所示(使用“关键字”类型看起来很奇怪,但是它是唯一可以配置为不被分析的字符串字段)

PUT my_index
{
  "mappings": {
    "test": {
      "properties": {
        "xml": {
          "type": "keyword",
          "index": "false"
        }
      }
    }
  }
}