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

Uwe Schindler commented on LUCENE-3795:
---------------------------------------

bq. Commons-lang is used by both Spatial4J and the new spatial-module. This 
dependency can easily be severed and will happen shortly.

Fine!

bq. SLF4j is used by both Spatial4J and the new spatial-module. I really like 
SLF4J but all this resistance to remove dependencies leads me to compromise, 
and I'll find a way to removing it or have it as an optional dependency.

In my opinion, non-end-user components should not log, which affects libraries. 
E.g. there is nothing in the JDK to enable logging of the JDK itsself, although 
there are surely parts that could log something. Lucene is the same, it does 
not need to log anything, the client code should log things like "now executing 
term query..." and so on. IndexWriter is a little bit special, it has now a 
simple "log-like" interface for debugging (consisting of abstract InfoStream 
class). This class can be implemented by a logging framework, but would 
slowdown indexing immense, as logging frameworks tend to use volatiles on every 
log request (even when not logging).

So I strongly recommend to remove logging. For debugging we often comment out 
System.out.println inside Lucene.

bq. Uwe and others, the rationale for a core spatial library off of Lucene is 
my last (long) comment

OK, OK. I still don't understand the whole rationale to move it outside Lucene 
or to a separate module. Everybody can use the classes by adding the JAR file, 
too. The "useless" lucene classes don't hurt. Still I would strongly recommend 
to use parts of lucene.util package whereever possible, especially when 
performance and easy Lucene integration is needed. So dont create Strings all 
the time, use BytesRef and index/search using *binary* terms like NumericField 
does in Lucene trunk. If this module outside Lucene uses Strings all the time, 
but e.g. when indexing searching all those strings are again converted to UTF-8 
BytesRefs, thats a laaaaaaaaaaaaaaarge overhead. So I prefer to sometimes 
duplicate code and add performant impls of e.g. term encoders for 
indexing/search. Every method in Lucene that is used in tight loops (like 
scorers or TokenStreams) should never ever use Strings (which are final and 
unmodifiable).
                
> Replace spatial contrib module with LSP's spatial-lucene module
> ---------------------------------------------------------------
>
>                 Key: LUCENE-3795
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3795
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: modules/spatial
>            Reporter: David Smiley
>            Assignee: David Smiley
>             Fix For: 4.0
>
>
> I propose that Lucene's spatial contrib module be replaced with the 
> spatial-lucene module within Lucene Spatial Playground (LSP).  LSP has been 
> in development for approximately 1 year by David Smiley, Ryan McKinley, and 
> Chris Male and we feel it is ready.  LSP is here: 
> http://code.google.com/p/lucene-spatial-playground/  and the spatial-lucene 
> module is intuitively in svn/trunk/spatial-lucene/.
> I'll add more comments to prevent the issue description from being too long.

--
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