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

Martijn van Groningen commented on SOLR-1499:
---------------------------------------------

{quote}
Regarding the thread safety: of course the SolrEntityProcessor isn't 
thread-safe but the synchronization is handled outside that class, since 
nextRow() and init() methods are both called from a synchronized block. In 
fact, queries are not executed concurrently. I added some comments, and a 
specific unit test method which works like the EntityRunner. We can of course 
make the processor thread-safe itself adding some lock, but I don't think it's 
worthwhile.
{quote}
I see the ThreadedEntityProcessorWrapper#nextRow() method synchronizes the 
calls to nextRow(). This means that EntityProcessor implementations don't have 
to worry about synchronization.
                
> SolrEntityProcessor - DIH EntityProcessor that queries an external Solr via 
> SolrJ
> ---------------------------------------------------------------------------------
>
>                 Key: SOLR-1499
>                 URL: https://issues.apache.org/jira/browse/SOLR-1499
>             Project: Solr
>          Issue Type: New Feature
>          Components: contrib - DataImportHandler
>            Reporter: Lance Norskog
>             Fix For: 3.6, 4.0
>
>         Attachments: SOLR-1499.core.rev1182017.patch, SOLR-1499.patch, 
> SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, 
> SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, SOLR-1499.patch, 
> SOLR-1499.tests.rev1182017.patch
>
>
> The SolrEntityProcessor queries an external Solr instance. The Solr documents 
> returned are unpacked and emitted as DIH fields.
> The SolrEntityProcessor uses the following attributes:
> * solr='http://localhost:8983/solr/sms'
> ** This gives the URL of the target Solr instance.
> *** Note: the connection to the target Solr uses the binary SolrJ format.
> * query='Jefferson&sort=id+asc'
> ** This gives the base query string use with Solr. It can include any 
> standard Solr request parameter. This attribute is processed under the 
> variable resolution rules and can be driven in an inner stage of the indexing 
> pipeline.
> * rows='10'
> ** This gives the number of rows to fetch per request..
> ** The SolrEntityProcessor always fetches every document that matches the 
> request..
> * fields='id,tag'
> ** This selects the fields to be returned from the Solr request.
> ** These must also be declared as <field> elements.
> ** As with all fields, template processors can be used to alter the contents 
> to be passed downwards.
> * timeout='30'
> ** This limits the query to 5 seconds. This can be used as a fail-safe to 
> prevent the indexing session from freezing up. By default the timeout is 5 
> minutes.
> Limitations:
> * Solr errors are not handled correctly.
> * Loop control constructs have not been tested.
> * Multi-valued returned fields have not been tested.
> The unit tests give examples of how to use it as the root entity and an inner 
> entity.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to