我有以下形式的结构化 JSON 数据:
field1:{
"id" : "123",
"field2" : [
{
"id" : "345",
"type" : "ABC"
},
{
"id" : "456",
"type" : "XYZ"
},
]
}
我正在将此 JSON 转换为 lucene 文档:
field1.id : 123
field1.field2.id : 345
field1.field2.type: ABC
field1.field2.id : 456
field1.field2.type: XYZ
我有一个查询,指出类型应该等于 ABC,即
+field1.field2.type: ABC
。我需要找到失败字段的确切 ID,在本例中为 123->345。我怎样才能做到这一点?
我无法像
field1.123.field2.456.type
那样将id存储在字段中-这是不可能的。有没有可能的方法来处理 SortedSetDocValuesField 或 FeatureField。 lucene 提供的用于存储附加有特定字段值的 id 的任何内容。
对我来说,field2是一个对象数组,所以正确的转换是(或等效的):
field1.id : 123
field1.field2[0].id : 345
field1.field2[0].type: ABC
field1.field2[1].id : 456
field1.field2[1].type: XYZ
您可以添加您的代码以便我们更好地分析吗