我正在尝试解析XML文件并想要拆分。但是分割字段并不总是数组。 XML结构:
<A a="1">
<B b="1" q="10">
<C c="1" r="20"></C>
</B>
<B b="2" q="11">
<C c="2" r="21"></C>
<C c="3" r="22">
<M m="1" />
</C>
<B>
</A>
当我尝试拆分为
时 xml {
source => "message"
target => "doc"
force_array => false
}
split {
field => "doc[B][C]"
}
我得到错误,因为Split只能在字符串或数组中完成。 我怎样才能将字符串变为数组,还是有另一种解决方法?
预期产出:
{
C => {
c => 1,
r => 20,
}
B => {
b => 1,
q => 10,
}
}
{
C => {
c => 2,
r => 20,
}
B => {
b => 2,
q => 11,
}
}
{
C => {
c => 3,
r => 22,
M => {
m => 1
}
}
B => {
b => 2,
q => 11,
}
}
每个嵌套都充当单独的事件,并在弹性搜索中存储为不同的事件(行)。