lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <j...@apache.org>
Subject [jira] Commented: (LUCENE-1257) Port to Java5
Date Sun, 18 Oct 2009 23:24:31 GMT

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

Robert Muir commented on LUCENE-1257:
-------------------------------------

{quote}
>From your patch, it seems that you want to generify the setPreviousTokenStream method.
This shoudl not take Object, it should take TokenStream as param. But this has nothing to
do with Java 5.
{quote}

check out LUCENE-1794 for some related discussion.

There are a few things that come to mind:
* for reusable token streams, an analyzer needs to reset the chain: .reset(), but it also
needs to call reset(Reader) which is only applicable to Tokenizer. This is why you see private
classes like SavedStreams being used.
* because .tokenStream() takes a fieldname as an argument, some analyzers have special field-specific
behavior. To reuse for these analyzers can be more complex, for example QueryAutoStopWordAnalyzer
sets/gets a map. 


> Port to Java5
> -------------
>
>                 Key: LUCENE-1257
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1257
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Analysis, Examples, Index, Other, Query/Scoring, QueryParser, Search,
Store, Term Vectors
>    Affects Versions: 3.0
>            Reporter: C├ędric Champeau
>            Assignee: Uwe Schindler
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: instantiated_fieldable.patch, java5.patch, LUCENE-1257-BooleanQuery.patch,
LUCENE-1257-BooleanScorer_2.patch, LUCENE-1257-BufferedDeletes_DocumentsWriter.patch, LUCENE-1257-CheckIndex.patch,
LUCENE-1257-CompoundFileReaderWriter.patch, LUCENE-1257-ConcurrentMergeScheduler.patch, LUCENE-1257-DirectoryReader.patch,
LUCENE-1257-DisjunctionMaxQuery-more_type_safety.patch, LUCENE-1257-DocFieldProcessorPerThread.patch,
LUCENE-1257-Document.patch, LUCENE-1257-IndexDeleter.patch, LUCENE-1257-IndexDeletionPolicy_IndexFileDeleter.patch,
LUCENE-1257-iw.patch, LUCENE-1257-NormalizeCharMap.patch, LUCENE-1257-o.a.l.util.patch, LUCENE-1257-org_apache_lucene_document.patch,
LUCENE-1257-org_apache_lucene_document.patch, LUCENE-1257-org_apache_lucene_document.patch,
LUCENE-1257-SegmentInfos.patch, LUCENE-1257-StringBuffer.patch, LUCENE-1257-StringBuffer.patch,
LUCENE-1257-StringBuffer.patch, LUCENE-1257-WordListLoader.patch, LUCENE-1257_BooleanFilter_Generics.patch,
LUCENE-1257_messages.patch, LUCENE-1257_o.a.l.queryParser.patch, LUCENE-1257_o.a.l.store.patch,
LUCENE-1257_o_a_l_index_test.patch, LUCENE-1257_o_a_l_index_test.patch, LUCENE-1257_o_a_l_search.patch,
LUCENE-1257_o_a_l_search_spans.patch, LUCENE-1257_org_apache_lucene_index.patch, LUCENE-1257_org_apache_lucene_index.patch,
lucene1257surround1.patch, lucene1257surround1.patch, o.a.l.analysis.patch, shinglematrixfilter_generified.patch
>
>
> For my needs I've updated Lucene so that it uses Java 5 constructs. I know Java 5 migration
had been planned for 2.1 someday in the past, but don't know when it is planned now. This
patch against the trunk includes :
> - most obvious generics usage (there are tons of usages of sets, ... Those which are
commonly used have been generified)
> - PriorityQueue generification
> - replacement of indexed for loops with for each constructs
> - removal of unnececessary unboxing
> The code is to my opinion much more readable with those features (you actually *know*
what is stored in collections reading the code, without the need to lookup for field definitions
everytime) and it simplifies many algorithms.
> Note that this patch also includes an interface for the Query class. This has been done
for my company's needs for building custom Query classes which add some behaviour to the base
Lucene queries. It prevents multiple unnnecessary casts. I know this introduction is not wanted
by the team, but it really makes our developments easier to maintain. If you don't want to
use this, replace all /Queriable/ calls with standard /Query/.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message