[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley commented on SOLR-269:



> I don't see any code allowing initialization of the transform chain, or 
> anything like that.
> What are you proposing?

Check the latest patch.  I'm not sure we need to have XML configuration for 
this, but I added it as an example.  The factory would hold a list of 
transformers:
 
 
  


> Is there a downside to the logging being separated out in this case? 

only that it justifies the UpdateRequestProcessorFactory chain ;)  

- - - - - 

This patch includes a UpdateRequestProcessorChainFactory - this is a 
UpdateRequestProcessorFactory that keeps a chain of 
UpdateRequestProcessorFactories and iterates through them.  This pointed out 
another thing I don't like about the chain pattern.

I need a custom UpdateRequestProcessor that checks all the requests before 
executing any of them.  I plan to store the valid commands in a list and only 
execute them in the finish() call.  I'm not sure how to map that plan to an 
chain.  How would I pass the output from one processor to the next?  

> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> SOLR-269-UpdateRequestProcessorFactory.patch, UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Updated: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley updated SOLR-269:
---

Attachment: SOLR-269-UpdateRequestProcessorFactory.patch

* loads UpdateRequestProcessorFactories using the plugin loader stuff from 
SOLR-260.
* makes a UpdateRequestHandlerBase class that XML and CSV share.
* loads and configures a chain of InputTransformations.
* moves UpdateRequestProcessor from o.a.s.handler to o.a.s.update

This is the test config:


   
   
 

  v1
  v2

 
 
 
 
   000
   111
 
 
   
 

I am not sure we want to make the transformer interface public yet, but it is 
here to show how I think it could be handled.

If you like this approach, I'll clean it up some more...


> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> SOLR-269-UpdateRequestProcessorFactory.patch, UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley commented on SOLR-269:


> perhaps the extra functionality of transformations and updating should be 
> pushed into the UpdateHandler interface

That was the first SOLR-139 design!

Having thought about it for a while, i think there are nice advantages to 
keeping the updating/modifying outside of the UpdateHandler - the biggest one 
is that various RequestHandlers *could* transform the document differently.

I'm putting together a hybrid example that (I hope) answers questions about 
chains/configuration/transformation, etc.  I'll post it shortly.

> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Updated: (SOLR-287) set commitMaxTime when adding a document

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley updated SOLR-287:
---

Summary: set commitMaxTime when adding a document  (was: set commitMaxTime 
when adding a single document)

sorry, bad title.  This adds a maxCommitTime to the AddUpdateCommand - that 
only takes one document at at time, but the command is shared between 
everything updated together.

As implemented, If you post 1000 docs in a single request with an 
maxCommitTime=500.  It will fire a commit 500ms after the first document is 
added - even if there are still more coming.

> set commitMaxTime when adding a document
> 
>
> Key: SOLR-287
> URL: https://issues.apache.org/jira/browse/SOLR-287
> Project: Solr
>  Issue Type: Improvement
>Reporter: Ryan McKinley
>Priority: Minor
> Attachments: SOLR-287-AddCommitMaxTime.patch
>
>
> Rather then setting a global autoCommit maxTime, it would be nice to set a 
> maximum time for a single add command.  This patch adds:
> 
>   ...
> 
> to add the document within 1 sec.

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



[jira] Commented: (SOLR-287) set commitMaxTime when adding a single document

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-287:
---

why is this linked to a "single document"?  Or do you mean a single add command 
which may contain multiple documents?

> set commitMaxTime when adding a single document
> ---
>
> Key: SOLR-287
> URL: https://issues.apache.org/jira/browse/SOLR-287
> Project: Solr
>  Issue Type: Improvement
>Reporter: Ryan McKinley
>Priority: Minor
> Attachments: SOLR-287-AddCommitMaxTime.patch
>
>
> Rather then setting a global autoCommit maxTime, it would be nice to set a 
> maximum time for a single add command.  This patch adds:
> 
>   ...
> 
> to add the document within 1 sec.

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



[jira] Commented: (SOLR-267) log handler + query + hits

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-267:
---

The double logging issue with the new update handler framework should be fixed 
with whatever mechanism is created here.

Using the responseHeader as logging info is clever, but I'm not sure if we want 
to be bound to return everything in the response that we want to be logged (for 
updates, some may want all of the ids logged but not returned, and if they are 
returned, not in the header).

So, what about either a "NamedList toLog;"on the SolrQueryResponse,  or 
SolrQueryRequest.getContext().get("log") => NamedList ?

> new patch to promote responseHeader from a defacto standard to an api 
> standard in SolrQueryResponse.

I think that's probably OK



> log handler + query + hits
> --
>
> Key: SOLR-267
> URL: https://issues.apache.org/jira/browse/SOLR-267
> Project: Solr
>  Issue Type: Improvement
>  Components: search
>Affects Versions: 1.3
>Reporter: Will Johnson
>Priority: Minor
> Fix For: 1.3
>
> Attachments: LogQueryHitCounts.patch, LogQueryHitCounts.patch, 
> LogQueryHitCounts.patch, LogQueryHitCounts.patch, LogQueryHitCounts.patch, 
> LogQueryHitCounts.patch
>
>
> adds a logger to log handler, query string and hit counts for each query

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-269:
---

> with update processors, the needed interface to add a document changes... you 
> need the processor rather than the update handler.

Thinking on these lines a bit further... perhaps the extra functionality of 
transformations and updating should be pushed into the UpdateHandler interface
(DUH2).  If it makes sense, we could deprecate the existing AddUpdateCommand  & 
methods in favor of new ones that use SolrInputDocument.




> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-269:
---

> This all works nicely with a simple 'transform' chain. 

I don't see any code allowing initialization of the transform chain, or 
anything like that.
What are you proposing?

I think it gets tougher when one talks about updates rather than document adds 
too.

> Isn't logging best configured with standard java.util.logging settings?

Not if you want a different type... for example, you seemed to want timing 
per-document added for example.
Having log specific configuration (such as number of ids to log in a big add) 
in it's own processor seems slightly nicer too.
Is there a downside to the logging being separated out in this case?  I really 
don't have strong feelings about it though (as long as we can keep the default 
version lean enough).

> I see what you are getting at, but makes the basic cases more complicated 
> then it needs to be.

Yes, with the upside that we know our transform interface isn't too limiting.

> I'm reluctant to add another plugin layer

Me too... which is why just doing transform with the processors seems desirable 
(one less type of plugin).
If transformations are not to be done with UpdateRequestProcessor, I'm not sure 
we should expose that interface at all as it's tightly coupled with DUH2.
It seems we really only need one type of plugin to do these document 
transformations.

> SolrCore could have a single UpdateRequestProcessorFactory that handlers 
> could use as the default.

Yes, with update processors, the needed interface to add a document changes... 
you need the processor rather than the update handler.



> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



LICENSE.txt nitpick?

2007-07-05 Thread [EMAIL PROTECTED]

Is line 189 of LICENSE.txt supposed to say something other then:

   Copyright [] [name of copyright owner]

?


[jira] Commented: (SOLR-290) Boost property in QueryParameter class not a Float

2007-07-05 Thread Jeff Rodenburg (JIRA)

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

Jeff Rodenburg commented on SOLR-290:
-

Fix applied in revision #141 @ http://solrstuff.org/svn/solrsharp.

> Boost property in QueryParameter class not a Float
> --
>
> Key: SOLR-290
> URL: https://issues.apache.org/jira/browse/SOLR-290
> Project: Solr
>  Issue Type: Bug
>  Components: clients - C#
>Affects Versions: 1.2
>Reporter: Jeff Rodenburg
>Priority: Minor
> Fix For: 1.2
>
>
> The Boost property on the QueryParameter class in SolrSharp is of type Int, 
> while the Lucene specification uses types Float.

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



[jira] Created: (SOLR-290) Boost property in QueryParameter class not a Float

2007-07-05 Thread Jeff Rodenburg (JIRA)
Boost property in QueryParameter class not a Float
--

 Key: SOLR-290
 URL: https://issues.apache.org/jira/browse/SOLR-290
 Project: Solr
  Issue Type: Bug
  Components: clients - C#
Affects Versions: 1.2
Reporter: Jeff Rodenburg
Priority: Minor
 Fix For: 1.2


The Boost property on the QueryParameter class in SolrSharp is of type Int, 
while the Lucene specification uses types Float.

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley commented on SOLR-269:



> Some other issues how to configure processors for multiple update 
> handlers? Perhaps allow configuration of a global default for update handlers 
> with no processors specified?  That would make it easy to make sure your 
> custom processor was used everywhere.

SolrCore could have a single UpdateRequestProcessorFactory that handlers could 
use as the default.  I'm reluctant to add another plugin layer, but this would 
make it easier to share with the CSV update handler and others.

Since its a factory, it will be thread safe across multiple handlers.

Again, I'm reluctant to think about configuring a processor chain in 
solrconfig.xml -- we should make the most sensible/extendible default 
implementation, but IMO tweeking RequestProcessor functionality should be done 
with custom code.

> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley commented on SOLR-269:


>  - conditional copyField, field transformations (between multiple fields 
> too... something Analyzer can't do), loading certain fields from a database 
> if missing,
>updating a related document, etc.
> 

This all works nicely with a simple 'transform' chain.


>> Is the LogUpdateRequestProcessor just an example?
> 
> IMO, it's a default since no logging is done by the 
> ChangeUpdateRequestProcessor (anyone think of a better name for that?).
> Then in a Benchmarking section of the Solr Wiki, we could advise to remove 
> logging altogether.  Or you could remove the ChangeUpdateRequestProcessor  to 
> skip index
> changes to better benchmark hotspots in the parsing + doc creation phase, etc.
> 

Isn't logging best configured with standard java.util.logging settings? If 
necessary, the base processor could check if the logging level is high enough 
to keep track of somethings.

For benchmarking, don't we just want a single noop processor?


>> The one compelling chained use case I can think of is for document 
>> transformation
> 
> Ah, I briefly looked at SOLR-139 when you mentioned it before, but missed the 
> transformer stuff.
> In a way multiple update processors are more generic and wide open... you 
> could actually insert two documents into the index for each doc added,
> you could do transforms on the actual Lucene document (add Field options that 
> Solr doesn't currently support, etc.
> 

I see what you are getting at, but makes the basic cases more complicated then 
it needs to be.  I have been considering UpdateRequestProcessor as an 
'advanced' option where changing their behavior is writing custom code -- not 
text configuration.

In the advanced case where you want to build multiple documents or munge the 
actual Lucene document existing it may be more difficult to live in a chain 
rather then have explicit control.  If 

I think the cleanest design would be a single entry point and keeping the real 
functionality in easily subclassed functions or utility classes.  The latest 
SOLR-139 tries that (but it could still use some cleanup)

> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-269:
---

Some other issues how to configure processors for multiple update handlers? 
Perhaps allow configuration of a global default for update handlers with no 
processors specified?  That would make it easy to make sure your custom 
processor was used everywhere.
We should probably have a base class for update handlers to implement 
initialization logic.

> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-269:
---

> What do you see as the common use case for wanting to chain request 
> processors?
 - conditional copyField, field transformations (between multiple fields too... 
something Analyzer can't do), loading certain fields from a database if missing,
   updating a related document, etc.

> Is the LogUpdateRequestProcessor just an example?

IMO, it's a default since no logging is done by the 
ChangeUpdateRequestProcessor (anyone think of a better name for that?).
Then in a Benchmarking section of the Solr Wiki, we could advise to remove 
logging altogether.  Or you could remove the ChangeUpdateRequestProcessor  to 
skip index
changes to better benchmark hotspots in the parsing + doc creation phase, etc.

> The one compelling chained use case I can think of is for document 
> transformation

Ah, I briefly looked at SOLR-139 when you mentioned it before, but missed the 
transformer stuff.
In a way multiple update processors are more generic and wide open... you could 
actually insert two documents into the index for each doc added,
you could do transforms on the actual Lucene document (add Field options that 
Solr doesn't currently support, etc.

> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



Re: semantics of RequiredSolrParams.getFieldParam("field","param")

2007-07-05 Thread Ryan McKinley


Looking back at SOLR-183 I see JJ had a comment about this...


One open question is getFieldParam: Should the semantics of
required.getFieldParam("facet.limit", "abc") be to fail if the
parameter is not supplied for the field (e.g. f.abc.facet.limit), or
not supplied for either the field or as a general default (e.g.
facet.limit)? In the former case we don't need to override
getFieldParam. I can't think of a reason that one would want to require
explicit field values and disallow
general values, but perhaps someone else could, and a 'field strictness"
flag should be supplied in the RequiredSolrParams constructor.


to which ryan replied...


I don't follow the strict/not strict logic to getFieldParam... If you
don't want strict checking, use the normal SolrParams, if you do, use
RequiredSolrParams


...it seems like there was maybe a missunderstading there about what JJ
was trying to say, ... either that or i'm really confused.

Is there a way to do what I'm trying to do with RequiredSolrParams right
now that i'm just not realizing, or should we add something to achieve
this?



To be honest, at the time I did not understand the semantics of field 
params that fall through to the non-field use case.


I imagined you would have handle this case with something like:

 String v = params.getFieldParam(f,SolrParams.FACET_DATE_END );
 if( v == null ) {
   v = required.getParam( SolrParams.FACET_DATE_END );
 }

I think it makes sense to change RequiredSolrParams so that you get the 
same behavior with:

 v = required.getFieldParam( f, SolrParams.FACET_DATE_END );

ryan




[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley commented on SOLR-269:


I like the AddUpdateCommand changes

What do you see as the common use case for wanting to chain request processors? 
 Is the LogUpdateRequestProcessor just an example?  

The one compelling chained use case I can think of is for document 
transformation.  In SOLR-139, I toyed with SolrInputDocumentTransformer.  The 
default case does nothing, and a subclass may use something like:
  for( SolrInputDocumentTransformer t : transformers ) {
doc = t.transform( doc );
  }


> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



semantics of RequiredSolrParams.getFieldParam("field","param")

2007-07-05 Thread Chris Hostetter

i've run into a weird little oddity while working on SOLR-258 ... the
start/end/gap params need to be required, but i want it to be possible to
use "generaic"values for them even while vaceting over multiple fields,
ie this should work and use the start/end/gap values for both the birth
and death fields...

facet=true&facet.date=birth&facet.date=death&facet.date.start=NOW/YEAR-100YEARS&facet.date.end=NOW/YEAR+1YEAR&facet.date.gap=1YEAR

...but this should cause an error because hte death field doesn't have an
end specified...

facet=true&facet.date=birth&facet.date=death&facet.date.start=NOW/YEAR-100YEARS&f.birth.facet.date.end=NOW/YEAR+1YEAR&facet.date.gap=1YEAR


I'm currently using this...
final SolrParams required = new RequiredSolrParams(params);
...
final String endS = required.getFieldParam(f,SolrParams.FACET_DATE_END);

...but that fails on valid use cases like the first one above, because
getFieldParam delegates to the super which calls
get("f."+f+"."+SolrParams.FACET_DATE_END) .. which triggers this
exception...

org.apache.solr.common.SolrException: Missing required parameter: 
f.birth.facet.date.end
at 
org.apache.solr.common.params.RequiredSolrParams.get(RequiredSolrParams.java:50)
at 
org.apache.solr.common.params.SolrParams.getFieldParam(SolrParams.java:254)
at 
org.apache.solr.request.SimpleFacets.getFacetDateCounts(SimpleFacets.java:442)
at 
org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:95)

...i considered something like...

final SolrParams required = new RequiredSolrParams(params);
...
final String endS = required.getFieldParam(f,SolrParams.FACET_DATE_END,
   
params.get(SolrParams.FACET_DATE_END);

..to specify a default value, which would work forthe first use case, but
it wouldn't error in the second use case where neither the generic param
value or the field specific value are specified for a given field.

Looking back at SOLR-183 I see JJ had a comment about this...

> One open question is getFieldParam: Should the semantics of
> required.getFieldParam("facet.limit", "abc") be to fail if the
> parameter is not supplied for the field (e.g. f.abc.facet.limit), or
> not supplied for either the field or as a general default (e.g.
> facet.limit)? In the former case we don't need to override
> getFieldParam. I can't think of a reason that one would want to require
> explicit field values and disallow
> general values, but perhaps someone else could, and a 'field strictness"
> flag should be supplied in the RequiredSolrParams constructor.

to which ryan replied...

>> I don't follow the strict/not strict logic to getFieldParam... If you
>> don't want strict checking, use the normal SolrParams, if you do, use
>> RequiredSolrParams

...it seems like there was maybe a missunderstading there about what JJ
was trying to say, ... either that or i'm really confused.

Is there a way to do what I'm trying to do with RequiredSolrParams right
now that i'm just not realizing, or should we add something to achieve
this?


-Hoss



[jira] Commented: (SOLR-289) Double logging from update handler framework

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley commented on SOLR-289:


the "added id={VA902B} in 0ms" is now priinted out in UpdateRequestProcessor - 
it has its own Logger, so the detailed output could be configured independently.

or it could be log.fine();


> Double logging from update handler framework
> 
>
> Key: SOLR-289
> URL: https://issues.apache.org/jira/browse/SOLR-289
> Project: Solr
>  Issue Type: Bug
>Reporter: Yonik Seeley
>Priority: Minor
>
> The update framework in Solr 1.2 causes twice as many log statements to be 
> output.
> This will have an adverse performance impact for people adding a single doc 
> at a time.
> Example:
> INFO: added id={VA902B} in 0ms
> Jul 5, 2007 1:36:52 PM org.apache.solr.core.SolrCore execute
> INFO: /update  0 0
> Jul 5, 2007 1:36:52 PM org.apache.solr.handler.XmlUpdateRequestHandler update

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-269:
---

> couldn't that just be a DelegateUpdateRequestProcessor that is constructed 
> using a list of other UpdateRequestProcessors

That might be the way to go if multiple processors were to be very rare... but 
then you need to come
up with a syntax for the args of DelegateUpdateRequestProcessor  to specify 
multiple delegates, and one ends up writing the same code with more complex 
configuration.



> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Updated: (SOLR-139) Support updateable/modifiable documents

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley updated SOLR-139:
--

Attachment: (was: UpdateProcessor.patch)

> 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
>Assignee: Ryan McKinley
> Attachments: SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-ModifyInputDocuments.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.



[jira] Updated: (SOLR-139) Support updateable/modifiable documents

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley updated SOLR-139:
--

Comment: was deleted

> 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
>Assignee: Ryan McKinley
> Attachments: SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-ModifyInputDocuments.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.



[jira] Updated: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley updated SOLR-269:
--

Attachment: UpdateProcessor.patch

OK, this patch adds the ability to specify multiple processor factories.

Summary:
- decoupled changing the index from logging... I think it makes it much clearer 
how things work (there was much more logging code than anything else). This 
also would allow Ryan to add back his incremental timing to a different 
processor.
- added SolrInputDocument to AddUpdateCommand, and added some methods
- removed NamedList return from the XML update handler and started passing 
SolrQueryResponse around instead (this is more future-proof and flexible)
- removed adding all the ids to the response... (back to 1.2 response format). 
We probably shouldn't add ids by default... think of CSV uploading millions of 
records, etc.
- An array of factories is kept, and when a processor is instantiated, it is 
passed a "next" pointer. An alternative would be to expose a "next factory" 
pointer to every factory (any advantage to having the current factory call 
getInstance() on the next factory instead of us doing that?) 
- untested support for basic syntax to support multiple update processors:
org.apache.solr
  ...


> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch, 
> UpdateProcessor.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Updated: (SOLR-139) Support updateable/modifiable documents

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley updated SOLR-139:
--

Attachment: UpdateProcessor.patch

OK, this patch adds the ability to specify multiple processor factories.

Summary:
- decoupled changing the index from logging... I think it makes it much clearer 
how things work (there was much more logging code than anything else).  This 
also would allow Ryan to add back his incremental timing to a different 
processor.
- added SolrInputDocument to AddUpdateCommand, and added some methods
- removed NamedList return from the XML update handler and started passing 
SolrQueryResponse around instead (this is more future-proof and flexible)
- removed adding all the ids to the response... (back to 1.2 response format).  
We probably shouldn't add ids by default... think of CSV uploading millions of 
records, etc.
- An array of factories is kept, and when a processor is instantiated, it is 
passed a "next" pointer.   An alternative would be to expose a "next factory" 
pointer to every factory (any advantage to having the current factory call 
getInstance() on the next factory instead of us doing that?)


> 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
>Assignee: Ryan McKinley
> Attachments: SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-IndexDocumentCommand.patch, SOLR-139-IndexDocumentCommand.patch, 
> SOLR-139-ModifyInputDocuments.patch, SOLR-139-XmlUpdater.patch, 
> UpdateProcessor.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.



[jira] Created: (SOLR-289) Double logging from update handler framework

2007-07-05 Thread Yonik Seeley (JIRA)
Double logging from update handler framework


 Key: SOLR-289
 URL: https://issues.apache.org/jira/browse/SOLR-289
 Project: Solr
  Issue Type: Bug
Reporter: Yonik Seeley
Priority: Minor


The update framework in Solr 1.2 causes twice as many log statements to be 
output.
This will have an adverse performance impact for people adding a single doc at 
a time.

Example:

INFO: added id={VA902B} in 0ms
Jul 5, 2007 1:36:52 PM org.apache.solr.core.SolrCore execute
INFO: /update  0 0
Jul 5, 2007 1:36:52 PM org.apache.solr.handler.XmlUpdateRequestHandler update

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



Re: removing most @author tags

2007-07-05 Thread Grant Ingersoll

FWIW,
http://wiki.apache.org/incubator/CodeOfConduct  (totally unofficial)  
discourages them as well, but leaves it up to the PMC...  And I  
recall seeing a Nutch or Hadoop email wanting to remove them as well.



On Jul 4, 2007, at 12:00 PM, Bill Au wrote:


+1

Bill

On 7/2/07, Ian Holsman <[EMAIL PROTECTED]> wrote:

Yonik Seeley wrote:
> In the spirit of shared ownership, what do people think of  
getting rid

> of @author tags (for committers or other dev people that consent?).
> Other apache projects have done so, for a host of reasons.
>
> - some people don't use author tags, hence credit is uneven
> - author tags tend to only credit the original author, and not
> everyone that works on the code after (or does code reviews, lends
> ideas, etc, etc)
> - we have CHANGES.txt to generally credit people (and it prob  
does a

> better job)
you forgot another big reason
people tend to email people in the @author tags directly, instead of
using the lists.






[jira] Updated: (SOLR-60) Remove overwritePending, overwriteCommitted flags?

2007-07-05 Thread Ryan McKinley (JIRA)

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

Ryan McKinley updated SOLR-60:
--

Attachment: SOLR-60-Overwrite.patch

This changes AddUpdateCommand to want 'update' and depricates the other flags

   public boolean overwrite = true;
   
   @Deprecated public Boolean allowDups;
   @Deprecated public Boolean overwritePending;
   @Deprecated public Boolean overwriteCommitted;

If any of allowDups, overwritePending, overwriteCommitted are set, it will use 
old style calculations.  Autoboxing should handle the conversion cleanly.

> Remove overwritePending, overwriteCommitted flags?
> --
>
> Key: SOLR-60
> URL: https://issues.apache.org/jira/browse/SOLR-60
> Project: Solr
>  Issue Type: Improvement
>  Components: update
>Reporter: Yonik Seeley
>Priority: Minor
> Attachments: SOLR-60-Overwrite.patch
>
>
> The overwritePending, overwriteCommitted, allowDups flags seem needlessly 
> complex and don't add much value.  Do people need/use separate control over 
> pending vs committed documents?
> Perhaps all most people need is overwrite=true/false?
> overwritePending, overwriteCommitted were originally added because it was a 
> (mis)feature that another internal search tool had.

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



Re: [jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Ryan McKinley


FYI, I'm working up a prototype right now to handle multiple request processors.



excellent.

check: https://issues.apache.org/jira/browse/SOLR-139

to see how I was thinking about supporting multiple processors. 
Essentially a single parent processor that may loop through 
'transformers' or whatever in the custom case.


(not that I think my design is *the* answer)

ryan




Re: bug in XppUpdateHandler?

2007-07-05 Thread Mike Klaas

On 5-Jul-07, at 10:44 AM, Ryan McKinley wrote:


Yonik Seeley wrote:

On 7/5/07, Ryan McKinley <[EMAIL PROTECTED]> wrote:

>
> If I get a chance I'll take a look to see what the problem is,  
but I

> haven't touched this section of the code in quite a while.
>

I'm looking at it now...  I'll at least add a test that fails for  
the

Stax version and passes Xpp.

You probably need to clear the indexedId between multiple adds.


yup.  fixed in r553574


Thanks Ryan.

-Mike


[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Hoss Man (JIRA)

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

Hoss Man commented on SOLR-269:
---

couldn't that just be a DelegateUpdateRequestProcessor that is constructed 
using a list of other UpdateRequestProcessors?

:)


> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



[jira] Commented: (SOLR-269) UpdateRequestProcessorFactory - process requests before submitting them

2007-07-05 Thread Yonik Seeley (JIRA)

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

Yonik Seeley commented on SOLR-269:
---

FYI, I'm working up a prototype right now to handle multiple request processors.

> UpdateRequestProcessorFactory - process requests before submitting them
> ---
>
> Key: SOLR-269
> URL: https://issues.apache.org/jira/browse/SOLR-269
> Project: Solr
>  Issue Type: New Feature
>Reporter: Ryan McKinley
>Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-269-UpdateRequestProcessorFactory.patch
>
>
> A simple UpdateRequestProcessor was added to a bloated SOLR-133 commit. 
> An UpdateRequestProcessor lets clients plug in logic after a document has 
> been parsed and before it has been 'updated' with the index.  This is a good 
> place to add custom logic for:
>  * transforming the document fields
>  * fine grained authorization (can user X updated document Y?)
>  * allow update, but not delete (by query?)
>
>   name="update.processor.class">org.apache.solr.handler.UpdateRequestProcessor
>  
>   ... (optionally pass in arguments to the factory init method) ...
>   
>
> http://www.nabble.com/Re%3A-svn-commit%3A-r547495---in--lucene-solr-trunk%3A-example-solr-conf-solrconfig.xml-src-java-org-apache-solr-handler-StaxUpdateRequestHandler.java-src-java-org-apache-solr-handler-UpdateRequestProcessor.jav-tf3950072.html#a11206583

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



Re: bug in XppUpdateHandler?

2007-07-05 Thread Ryan McKinley

Yonik Seeley wrote:

On 7/5/07, Ryan McKinley <[EMAIL PROTECTED]> wrote:

>
> If I get a chance I'll take a look to see what the problem is, but I
> haven't touched this section of the code in quite a while.
>

I'm looking at it now...  I'll at least add a test that fails for the
Stax version and passes Xpp.


You probably need to clear the indexedId between multiple adds.



yup.  fixed in r553574


[jira] Created: (SOLR-288) Allow custom IndexSearcher class

2007-07-05 Thread Jerome Eteve (JIRA)
Allow custom IndexSearcher class


 Key: SOLR-288
 URL: https://issues.apache.org/jira/browse/SOLR-288
 Project: Solr
  Issue Type: New Feature
  Components: search
Affects Versions: 1.2
 Environment: all
Reporter: Jerome Eteve
Priority: Minor
 Fix For: 1.2


Allows specification of the used IndexSearcher class in the schema like this:

 
 

I got a patch for this for the src of version 1.2.0 , but I dont know if I can 
post it here.

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



Re: bug in XppUpdateHandler?

2007-07-05 Thread Yonik Seeley

On 7/5/07, Ryan McKinley <[EMAIL PROTECTED]> wrote:

>
> If I get a chance I'll take a look to see what the problem is, but I
> haven't touched this section of the code in quite a while.
>

I'm looking at it now...  I'll at least add a test that fails for the
Stax version and passes Xpp.


You probably need to clear the indexedId between multiple adds.

-Yonik


Re: bug in XppUpdateHandler?

2007-07-05 Thread Ryan McKinley


If I get a chance I'll take a look to see what the problem is, but I 
haven't touched this section of the code in quite a while.




I'm looking at it now...  I'll at least add a test that fails for the 
Stax version and passes Xpp.


ryan


Hudson build is back to normal: Solr-Nightly #133

2007-07-05 Thread hudson
See http://lucene.zones.apache.org:8080/hudson/job/Solr-Nightly/133/changes