You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Libor Ondrusek (JIRA)" <ji...@apache.org> on 2016/10/16 13:56:20 UTC

[jira] [Updated] (SOLR-9650) CloneFieldUpdateProcessorFactory doesn't preserve source fields order from configuration

     [ https://issues.apache.org/jira/browse/SOLR-9650?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Libor Ondrusek updated SOLR-9650:
---------------------------------
    Description: 
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}}

  was:
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 {{InputSolrDocument}} in {{SolrClient}} is used value of {{_solrId}} will *{{342230400000-a518fad5-5421-4253-b501-0ebea0d32cd2}}*


> 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org