[ 
https://issues.apache.org/jira/browse/SOLR-9650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15581344#comment-15581344
 ] 

Libor Ondrusek commented on SOLR-9650:
--------------------------------------

I'm not using IRC and mailing list is very old and confused approach for 
solving issues.

My SolrJ code looks like that:
{code:java}
MapType mapType = MapType.construct(Map.class, 
SimpleType.construct(String.class), SimpleType.construct(Object.class));
List<Map<String, Object>> data = 
objectMapper.readValue(resource.getInputStream(), 
CollectionType.construct(List.class, mapType));

List<SolrInputDocument> inputDocuments = data.stream()
        .map(dataItem -> {
            SolrInputDocument inputDocument = new SolrInputDocument();
            dataItem.entrySet().stream().forEach(entry -> 
inputDocument.addField(entry.getKey(), entry.getValue()));
            return inputDocument;
        })
        .collect(toList());
{code}

Data are readed from JSON file. I'm using SolrJ for that because I need 
{{EmbeddedSolrServer}} for integration testing.

> CloneFieldUpdateProcessorFactory doesn't preserve source fields order from 
> configuration
> ----------------------------------------------------------------------------------------
>
>                 Key: SOLR-9650
>                 URL: https://issues.apache.org/jira/browse/SOLR-9650
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Schema and Analysis
>    Affects Versions: 6.1
>            Reporter: Libor Ondrusek
>
> We are using configuration like this:
> {code:xml}
>   <!-- Creates a composite ID -->
>   <updateRequestProcessorChain name="composite-id">
>     <processor class="solr.CloneFieldUpdateProcessorFactory">
>       <str name="source">_id</str>
>       <str name="source">_validFrom</str>
>       <str name="dest">_solrId</str>
>     </processor>
>     <processor class="solr.ConcatFieldUpdateProcessorFactory">
>       <str name="fieldName">_solrId</str>
>       <str name="delimiter">-</str>
>     </processor>
>     <processor class="solr.LogUpdateProcessorFactory" />
>     <processor class="solr.RunUpdateProcessorFactory" />
>   </updateRequestProcessorChain>
> {code}
> Expected {{_solrId}} field value for document
> {code:javascript}
> {
>   "name": "Name",
>   "_validFrom": 342230400000,
>   "_validTo": null,
>   "_id": "a518fad5-5421-4253-b501-0ebea0d32cd2"
> }
> {code}
> is *{{a518fad5-5421-4253-b501-0ebea0d32cd2-342230400000}}*
> When HTTP REST is used, everything work fine.
> When programmatics interface using {{SolrInputDocument}} in {{SolrClient}} is 
> used value of {{_solrId}} will 
> *{{342230400000-a518fad5-5421-4253-b501-0ebea0d32cd2}}* because fields are 
> composed in order from {{SolrInputDocument}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to