[
https://issues.apache.org/jira/browse/SOLR-994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12668350#action_12668350
]
Jared Flatow commented on SOLR-994:
-----------------------------------
The transformer must know somehow when $hasMore should be true. If the
transformer always give $hasMore a value "true", will there be infinite
requests made or will it stop on the first empty request? Using the
EnumeratedEntityTransformer, a user can specify from the config xml when
$hasMore should be true using the chunkSize attribute. This solves a general
case of "request N rows at a time until no more are available". I agree, a
combination of 'rowsFetchedCount' and a HasMoreUntilEmptyTransformer would also
make this doable from the configuration.
> EnumeratedEntityTransformer
> ---------------------------
>
> Key: SOLR-994
> URL: https://issues.apache.org/jira/browse/SOLR-994
> Project: Solr
> Issue Type: New Feature
> Components: contrib - DataImportHandler
> Affects Versions: 1.4
> Reporter: Jared Flatow
> Priority: Minor
> Fix For: 1.4
>
> Attachments: SOLR-994.patch
>
>
> An EnumeratedEntityTransformer gives the Nth entity an accessible
> ${<entity>.n} == N. In addition, the entity may specify a chunkSize
> attribute, which will cause the chunkSize'th entity to gain the attribute
> $hasMore=true. A template for a nextUrl may also be specified on the entity,
> that is different from the url template.
> Consider an API:
> http://host:port/path/to/resource?maximum_number_returned=50&return_start_index=0
> an entity could specify:
> <entity name="myEntity" processor="XPathEntityProcessor"
> transformer="EnumeratedEntityTransformer"
> url="http://host:port/path/to/resource?maximum_number_returned=50&return_start_index=${myEntity.n}"
> chunkSize=50>...</entity>
> This allows for fetching entities in chunks until there are < chunkSize
> returned.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.