lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Luca Cavanna (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (SOLR-1499) SolrEntityProcessor - DIH EntityProcessor that queries an external Solr via SolrJ
Date Mon, 21 Nov 2011 14:58:52 GMT

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

Luca Cavanna updated SOLR-1499:
-------------------------------

    Attachment: SOLR-1499.patch

I attached a new version of the patch.
I made some refactors, added support for the fq parameter and added some test methods.

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.

Actually the patch is easier to apply also to the trunk I guess, since it contains just new
files.

Please, let me know your thoughts!
                
> 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.5, 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message