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

Andrei Minin commented on SOLR-14282:
-------------------------------------

David, if /get is used in distributed processor (as I guess, to synchronize 
updates across nodes), may be it makes sense to  create separate rest point to 
sync data from update log and return SolrInputDocument instead of SolrDocument? 
It sounds like you need input document to write it into index, not 
solrDocument, on remote nodes.

1)  /get that returns SolrInputDocument from update log,there is no need to 
convert to Lucene Document and then to SolrDocument, just return 
SolrInputDocument and write it to index on each node - avoiding non needed 
transformation will save CPU / memory resources.

2) /get that returns SolrDocument matching  SolrDocument returned from Lucene 
searcher (Lucene Document -> SolrDocument), but without writing document to 
index (real time get before index commit). This document must contain all 
fields and values processed by analyzers, etc - exact match of SolrDocument 
returned by searcher by doc id after index commit.

> /get handler doesn't return copied fields
> -----------------------------------------
>
>                 Key: SOLR-14282
>                 URL: https://issues.apache.org/jira/browse/SOLR-14282
>             Project: Solr
>          Issue Type: Bug
>          Components: search, SolrJ
>    Affects Versions: 8.4
>         Environment: SOLR 8.4.0, SOLRJ, Oracle Java 8 
>            Reporter: Andrei Minin
>            Priority: Major
>         Attachments: SOLR-14282-test-update.patch, copied_fields_test.zip, 
> managed-schema.xml
>
>
> We are using /get handler to retrieve documents by id in our Java application 
> (SolrJ)
> I found that copied fields are missing in documents returned by /get handler 
> but  same documents returned by  query contain copied (by schema) fields.
> Attached documents:
>  # Integration test project archive
>  # Managed schema file for SOLR
> SOLR schema details:
>  # Unique field name "d_ida_s"
>  # Lowecase text type definition:
> {code:java}
>  <fieldType name="lowercase" class="solr.TextField" 
> positionIncrementGap="100">
>       <analyzer>
>         <tokenizer class="solr.KeywordTokenizerFactory"/>
>         <filter class="solr.LowerCaseFilterFactory" />
>       </analyzer>
>     </fieldType>{code}
>           3. Copy field instruction sample: 
> {code:java}
> <field name="ConcurrenceUserNameu_lca_s" type="lowercase" indexed="true" 
> stored="true" multiValued="false"/>
> <copyField source="ConcurrenceUserNamea_s" dest="ConcurrenceUserNameu_lca_s" 
> /> 
> {code}
> ConcurrenceUserNamea_s is string type field and ConcurrenceUserNameu_lca_s is 
> lower case text type field.
> Integration test uploads document to SOLR server and makes 2 requests: one 
> using /get rest point to fetch document by id and one using query <unique id 
> field name>:<document id value>.
> Document returned by /get rest, doesn't have copied fields while document 
> returned by query, contains copied fields.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to