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

Ryan McKinley commented on SOLR-139:
------------------------------------

> 
> If the field modes were parameters, they could be reused for other update 
> handlers like SQL or CSV
> Perhaps something like:
> /update/xml?modify=true&f.price.mode=increment,f.features.mode=append
> 

Yes.  I think we should decide a standard 'modify modes' syntax that can be 
used across handlers.  In this example, I am using the string:

mode=cat=DISTINCT,features=APPEND,price=INCREMENT,sku=REMOVE,OVERWRITE

and passing it to 'parseFieldModes' in XmlUpdateRequestHandler.

Personally, I think all the modes should be specified in a single param rather 
then a list of them.  I vote for a syntax like:

<lst name="params">
 <str 
name="mode">cat=DISTINCT,features=APPEND,price=INCREMENT,sku=REMOVE,OVERWRITE</str>
</lst>
 or:
<lst name="params">
 <str 
name="mode">cat:DISTINCT,features:APPEND,price:INCREMENT,sku:REMOVE,OVERWRITE</str>
</lst>

rather then:

<lst name="params">
 <str name="f.cat.mode">DISTINCT</str>
 <str name="f.features.mode">APPEND</str>
 <str name="f.price.mode">INCREMENT</str>
 <str name="f.sku.mode">REMOVE</str>
 <str name="modify.default.mode">OVERWRITE</str>
</lst>



>> sku=REMOVE is required because sku is a stored field that is written to with 
>> copyField.
> I'm not sure I quite grok what REMOVE means yet, and how it fixes the 
> copyField problem.
> 

I'm using 'REMOVE' to say "remove the previous value of this field before doing 
anything."  Essentially, this makes sure you new document does not start with a 
value for 'sku'.


> Another way to work around copyField is to only collect stored fields that 
> aren't copyField targets.  

I just implemented this.  It is the most normal case, so it should be the 
default.  It can be overridden by setting the mode for a copyField explicitly.




> Support updateable/modifiable documents
> ---------------------------------------
>
>                 Key: SOLR-139
>                 URL: https://issues.apache.org/jira/browse/SOLR-139
>             Project: Solr
>          Issue Type: Improvement
>          Components: update
>            Reporter: Ryan McKinley
>         Attachments: SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-XmlUpdater.patch
>
>
> It would be nice to be able to update some fields on a document without 
> having to insert the entire document.
> Given the way lucene is structured, (for now) one can only modify stored 
> fields.
> While we are at it, we can support incrementing an existing value - I think 
> this only makes sense for numbers.
> for background, see:
> http://www.nabble.com/loading-many-documents-by-ID-tf3145666.html#a8722293

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to