作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 Solr 的 POJO 中存储 map ?目前我有一个这样的构造
@Field("*_locId")
protected Map<String, Integer> geoLocationToLocationId;
<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);
}
最佳答案
虽然我想遵循@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/
我是一名优秀的程序员,十分优秀!