在 Lucene 中通过 ID 查找确切的失败字段

问题描述 投票:0回答:1

我有以下形式的结构化 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 的任何内容。

java lucene lucene.net
1个回答
0
投票

对我来说,field2是一个对象数组,所以正确的转换是(或等效的):

field1.id : 123
field1.field2[0].id : 345
field1.field2[0].type: ABC 
field1.field2[1].id : 456
field1.field2[1].type: XYZ

您可以添加您的代码以便我们更好地分析吗

© www.soinside.com 2019 - 2024. All rights reserved.