こんにちは私はこのデータを含むAssetLocalUSという名前のSOLRコレクションを持っています。SOLRのデータを更新するには?
[
{
"assetId": "1-213Z-9335",
"availability": 1
},
{
"assetId": "1-213Z-1789",
"availability": 2
},
{
"assetId": "1-213Z-3452",
"availability": 3
}
]
SOLRのAssetId '1-213Z-9335'に基づいて可用性を更新したいと考えています。
これは私のJAVAコードです。
private SolrCrudRepository<Asset, String> assetRepository;
@Autowired
private AssetEntityRepository assetEntityRep;
@Autowired
public AssetRequestServiceImpl(SolrCrudRepository<Asset, String> assetRepository) {
this.assetRepository = assetRepository;
}
@Override
public ServiceResponse<?> processAssetRequests(Asset asset) {
System.out.println("Value of availability is==================:" + asset.getAvailability());
Asset asset2 = null;
try {
logger.info("performing maintdb save for asset id: " + asset.getAssetId());
assetEntityRep.save(asset.getAvailability());
// TODO: Add Error handling
logger.info("performing solr save for asset id: " + asset.getAssetId());
**asset2 = assetRepository.save(asset);**
// TODO: Add Error handling
return ServiceResponse.success(asset2);
} catch (Exception exception) {
logger.error(String.format("An error occured while processing asset request due to : %s", exception),
exception);
return ServiceResponse.error(Asset.class);
}
}
は、私は私がそのコレクションに新しいデータをinseringコレクションその更新されないデータを更新するためにAPIを打っていますSOLRCrudRepository.But毎回を使用して、更新SOLR収集データをしようとしています。
{
"assetId": "1-213Z-9335",
"availability": 10000
}
以前のコレクションには3つのレコードが含まれていましたが、現在は4つのレコードが含まれています。 assetIdに基づく可用性は更新されません。コレクションに新しいものが追加されます。
assetIdに基づいてコレクション内のデータを更新するために必要な変更。