Luis Cappa Banda created SOLR-4080:
--------------------------------------
Summary: SolrJ: CloudSolrServer atomic updates doesn´t work with
Lists/Arrays (Objects, in general).
Key: SOLR-4080
URL: https://issues.apache.org/jira/browse/SOLR-4080
Project: Solr
Issue Type: Bug
Components: SolrCloud
Affects Versions: 4.0
Environment: Solr 4.0 with SolrCloud deployed with two SolrServers
with shards=1. solr-solrj artifact version 4.0.0 is used to execute atomic
update operations.
Reporter: Luis Cappa Banda
Atomic updates with a CloudServer object instance doesn´t work properly.
- Code snippet:
// CloudSolrSever instance.
LBHttpSolrServer lbSolrServer = new LBHttpSolrServer(solrEndpoints);
CloudSolrServer cloudSolrServer = new CloudSolrServer(zookeeperEndpoints,
lbSolrServer);
// SolrInputDocument to update:
SolrInputDocument do = ne SolrInputDocument();
doc.addField("id", "myId");
Map<String, List<String>> operation = new HashMap<String, List<String>>();
operation.put("set", [[a list of String elements]]); // I want a set operation
to override field values.
doc.addField("fieldName", operation);
// Atomic update operation.
cloudSolrServer.add(doc);
- Result:
doc: {
id: "myId",
fieldName: [ "{set=values}"
],
...
}
- Changing map from snippet like Map operation = new HashMap() instead of
Map<String, List<String>> operation = new HashMap<String, List<String>>()
obtains the following result after the atomic update:
doc: {
id: "myId",
fieldName: ["[Value1, Value2]"
],
...
}
- Also, the old value is never erased, and instead of a "set" operation an
"add" operation happens.
CONCLUSION: during an atomic update with CloudSolrServer the List/Array/Object
value passed is being processed with just a toString() method.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]