我打算为 apache nutch 开发一个插件来自定义 indexwriter,我的问题是在插件中当你可以访问 NutchDocument 时,你只是将数据放在第一级而不是第二级。例如,对于“a”、“location”和“url”,您可以轻松地将数据放在doc.add("url", "www.csad.com");
“company”中,而“company”是一个复杂的对象,不可能发送公司类的对象。
这是我在弹性搜索中的 idnex_Metadata
{
"properties":{
"a":{
"type":"string"
},
"company":{
"type":"object",
"properties":{
"id":{
"type":"integer",
"index":"not_analyzed"
},
"type":{
"type":"string",
"index":"not_analyzed"
},
"name":{
"type":"string"
},
"location":{
"type":"geo_point"
},
"slug":{
"type":"string",
"index":"not_analyzed"
}
}
},
"location":{
"type":"geo_point",
"lat_lon":"true"
},
"url":{
"type":"string",
"index":"not_analyzed"
}
}
}
我无法在 java 插件中将数据发送到“公司”,而没有公司它运行良好
doc.add("location", rs.getString("ic_company_lat") + "," + rs.getString("ic_company_lng"));
Company cmp = new Company();
cmp.setId(Integer.parseInt(rs.getString("ic_company_id")));
cmp.setType("type");
cmp.setName(rs.getString("ic_company_name"));
doc.add("company", cmp);