gpt4 book ai didi

map - 如何在 Solr 的 POJO 中存储 map ?

转载 作者:行者123 更新时间:2023-12-04 05:04:59 24 4
gpt4 key购买 nike

如何在 Solr 的 POJO 中存储 map ?目前我有一个这样的构造

@Field("*_locId")
protected Map<String, Integer> geoLocationToLocationId;

在 schema.xml 文件中:
<dynamicField name="*_locId" type="int" indexed="false" stored="true" multiValued="false" /> 

添加通过:
public void addGeoLocationToLocationAutoInMapping(GeoCoordinates geoCoordinates,
Integer id) {
if(this.geoLocationToLocationId == null) {
this.geoLocationToLocationId = new HashMap<String, Integer>();
}
this.geoLocationToLocationId.put(geoCoordinates.toString() +
"_locId", id);
}

得到是相似的。

这是有效的,但是我在 Solr 中存储这样的 Java Map 有点脏,因为我可以获得大量字段。有没有另一种方法将 Java Maps 写入 Solr?

我不想索引它们,我只想保存数据。

最佳答案

虽然我想遵循@Geert-Jan 的一般建议,但有时您只想让 Solr 返回您需要的所有数据。在 Solr 中存储像您这样的简单映射(字符串到整数)的更好方法是将键和值存储为两个单独的多值字段,并确保索引一致。因此,您将拥有一个多值字段,例如:

地理位置:new york, los angeles, chicago
另一个喜欢

location_id:1, 2, 3
并确保 location_id 中的所有值都不为空字段,否则字段中的索引将不匹配。

关于map - 如何在 Solr 的 POJO 中存储 map ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15632552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com