0
我在Solr中有以下索引數據。我想使用SolrJ在索引數據中添加額外的「位置」字段。我怎樣才能做到這一點?使用SolrJ更新Solr中的文檔
"response":{"numFound":3061,"start":3059,"docs":[
{
"Id":12345,
"Name":"Rajeev Kumar",
"_version_":1223434645768768687},
{
"Id":67890,
"Name":"Rohit Kumar",
"_version_":1246457656544545434}]
}}
更新它應該是這樣的後 -
"response":{"numFound":3061,"start":3059,"docs":[
{
"Id":12345,
"Name":"Rajeev Kumar",
"Location" : <some value>,
"_version_":1223434645768768687},
{
"Id":67890,
"Name":"Rohit Kumar",
"Location": <some value>,
"_version_":1246457656544545434}]
}}
我想是這樣的 -
public static void main(String[] args) throws SolrServerException, IOException {
String urlString = "http://localhost:8983/solr/gettingstarted";
HttpSolrClient solr = new HttpSolrClient.Builder(urlString).build();
solr.setParser(new XMLResponseParser());
SolrInputDocument document = new SolrInputDocument();
HashMap<String, Object> value = new HashMap<String, Object>();
value.put("set","Delhi");
document.addField("Location", value);
solr.commit();
}
但問題是,這是創建一個新的文件,而不是更新舊文件。提前感謝您的幫助。
好的。我已經添加了唯一鍵,但是這個錯誤是未定義的字段「位置」。我需要在更新之前在schema.xml中添加「位置」嗎? – user7348570
是的,除非您使用無模式模式,否則該字段必須存在於模式中。 – MatsLindh