Return-Path: Delivered-To: apmail-lucene-java-commits-archive@www.apache.org Received: (qmail 93385 invoked from network); 16 Nov 2009 21:25:25 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 16 Nov 2009 21:25:25 -0000 Received: (qmail 18346 invoked by uid 500); 16 Nov 2009 21:25:25 -0000 Delivered-To: apmail-lucene-java-commits-archive@lucene.apache.org Received: (qmail 18302 invoked by uid 500); 16 Nov 2009 21:25:24 -0000 Mailing-List: contact java-commits-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: java-dev@lucene.apache.org Delivered-To: mailing list java-commits@lucene.apache.org Received: (qmail 18293 invoked by uid 99); 16 Nov 2009 21:25:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Nov 2009 21:25:24 +0000 X-ASF-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 16 Nov 2009 21:25:12 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 4E8E72388901; Mon, 16 Nov 2009 21:24:52 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r880963 [1/7] - in /lucene/java/branches/flex_1458: ./ contrib/ contrib/analyzers/common/src/java/org/apache/lucene/analysis/ar/ contrib/analyzers/common/src/java/org/apache/lucene/analysis/br/ contrib/analyzers/common/src/java/org/apache/l... Date: Mon, 16 Nov 2009 21:24:47 -0000 To: java-commits@lucene.apache.org From: markrmiller@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20091116212452.4E8E72388901@eris.apache.org> Author: markrmiller Date: Mon Nov 16 21:24:41 2009 New Revision: 880963 URL: http://svn.apache.org/viewvc?rev=880963&view=rev Log: LUCENE-1458: merge up to r880822 Added: lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/RollbackIndexTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WaitTask.java lucene/java/branches/flex_1458/contrib/misc/junit8183035598261200813.properties lucene/java/branches/flex_1458/contrib/misc/junitvmwatcher4205547712589018705.properties lucene/java/branches/flex_1458/docs/systemrequirements.html lucene/java/branches/flex_1458/docs/systemrequirements.pdf lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/DummyConcurrentLock.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/NamedThreadFactory.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/ThreadInterruptedException.java lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/systemrequirements.xml Removed: lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/systemproperties.xml Modified: lucene/java/branches/flex_1458/ (props changed) lucene/java/branches/flex_1458/CHANGES.txt lucene/java/branches/flex_1458/common-build.xml lucene/java/branches/flex_1458/contrib/ (props changed) lucene/java/branches/flex_1458/contrib/CHANGES.txt (contents, props changed) lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/query/QueryAutoStopWordAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/ru/RussianAnalyzer.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/shingle/ShingleFilter.java lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/shingle/ShingleMatrixFilter.java lucene/java/branches/flex_1458/contrib/analyzers/smartcn/src/java/org/apache/lucene/analysis/cn/smart/hhmm/BiSegGraph.java lucene/java/branches/flex_1458/contrib/ant/src/java/org/apache/lucene/ant/IndexTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/PerfRunData.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/EnwikiContentSource.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/feeds/TrecContentSource.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CloseReaderTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CommitIndexTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/CreateIndexTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/DeleteByPercentTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/DeleteDocTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/FlushReaderTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/NearRealtimeReaderTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenIndexTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/OpenReaderTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PerfTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/PrintReaderTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReadTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/ReopenReaderTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/TaskSequence.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/UpdateDocTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/tasks/WriteLineDocTask.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Algorithm.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/byTask/utils/Format.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/quality/QualityQuery.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/quality/trec/QueryDriver.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/quality/utils/QualityQueriesFinder.java lucene/java/branches/flex_1458/contrib/benchmark/src/java/org/apache/lucene/benchmark/utils/ExtractWikipedia.java lucene/java/branches/flex_1458/contrib/db/bdb-je/src/java/org/apache/lucene/store/je/JEDirectory.java lucene/java/branches/flex_1458/contrib/db/bdb/src/java/org/apache/lucene/store/db/DbDirectory.java lucene/java/branches/flex_1458/contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java lucene/java/branches/flex_1458/contrib/highlighter/src/java/org/apache/lucene/search/highlight/TextFragment.java lucene/java/branches/flex_1458/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java lucene/java/branches/flex_1458/contrib/highlighter/src/test/ (props changed) lucene/java/branches/flex_1458/contrib/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java lucene/java/branches/flex_1458/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedIndexReader.java lucene/java/branches/flex_1458/contrib/instantiated/src/java/org/apache/lucene/store/instantiated/InstantiatedTermDocumentInformation.java lucene/java/branches/flex_1458/contrib/lucli/src/java/lucli/LuceneMethods.java lucene/java/branches/flex_1458/contrib/lucli/src/java/lucli/Lucli.java lucene/java/branches/flex_1458/contrib/memory/src/java/org/apache/lucene/index/memory/MemoryIndex.java lucene/java/branches/flex_1458/contrib/memory/src/test/org/apache/lucene/index/memory/MemoryIndexTest.java lucene/java/branches/flex_1458/contrib/misc/src/java/org/apache/lucene/misc/ChainedFilter.java lucene/java/branches/flex_1458/contrib/queries/src/java/org/apache/lucene/search/BooleanFilter.java lucene/java/branches/flex_1458/contrib/queries/src/java/org/apache/lucene/search/FuzzyLikeThisQuery.java lucene/java/branches/flex_1458/contrib/queries/src/java/org/apache/lucene/search/TermsFilter.java lucene/java/branches/flex_1458/contrib/queries/src/java/org/apache/lucene/search/similar/MoreLikeThis.java lucene/java/branches/flex_1458/contrib/queries/src/java/org/apache/lucene/search/similar/MoreLikeThisQuery.java lucene/java/branches/flex_1458/contrib/queries/src/java/org/apache/lucene/search/similar/SimilarityQueries.java lucene/java/branches/flex_1458/contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/nodes/RangeQueryNode.java lucene/java/branches/flex_1458/contrib/regex/src/java/org/apache/lucene/search/regex/SpanRegexQuery.java lucene/java/branches/flex_1458/contrib/snowball/src/java/org/apache/lucene/analysis/snowball/SnowballAnalyzer.java lucene/java/branches/flex_1458/contrib/snowball/src/java/org/apache/lucene/analysis/snowball/SnowballFilter.java lucene/java/branches/flex_1458/contrib/spatial/src/java/org/apache/lucene/spatial/geometry/shape/DistanceApproximation.java lucene/java/branches/flex_1458/contrib/spatial/src/java/org/apache/lucene/spatial/tier/CartesianShapeFilter.java lucene/java/branches/flex_1458/contrib/spatial/src/java/org/apache/lucene/spatial/tier/DistanceHandler.java lucene/java/branches/flex_1458/contrib/spellchecker/src/java/org/apache/lucene/search/spell/Dictionary.java lucene/java/branches/flex_1458/contrib/spellchecker/src/java/org/apache/lucene/search/spell/PlainTextDictionary.java lucene/java/branches/flex_1458/contrib/spellchecker/src/java/org/apache/lucene/search/spell/SpellChecker.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/AndQuery.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/ComposedQuery.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/DistanceQuery.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/FieldsQuery.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/NotQuery.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/OrQuery.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/SimpleTerm.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/SpanNearClauseFactory.java lucene/java/branches/flex_1458/contrib/surround/src/java/org/apache/lucene/queryParser/surround/query/SrndBooleanQuery.java lucene/java/branches/flex_1458/contrib/swing/src/java/org/apache/lucene/swing/models/ListSearcher.java lucene/java/branches/flex_1458/contrib/swing/src/java/org/apache/lucene/swing/models/TableSearcher.java lucene/java/branches/flex_1458/contrib/wikipedia/src/java/org/apache/lucene/wikipedia/analysis/WikipediaTokenizer.java lucene/java/branches/flex_1458/contrib/wordnet/src/java/org/apache/lucene/wordnet/SynExpand.java lucene/java/branches/flex_1458/contrib/wordnet/src/java/org/apache/lucene/wordnet/SynLookup.java lucene/java/branches/flex_1458/contrib/wordnet/src/java/org/apache/lucene/wordnet/SynonymMap.java lucene/java/branches/flex_1458/contrib/wordnet/src/java/org/apache/lucene/wordnet/Syns2Index.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/FilterBuilderFactory.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/QueryBuilderFactory.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/QueryTemplateManager.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/CachedFilterBuilder.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/LikeThisQueryBuilder.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanNearBuilder.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanOrBuilder.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanOrTermsBuilder.java lucene/java/branches/flex_1458/contrib/xml-query-parser/src/java/org/apache/lucene/xmlparser/builders/SpanQueryBuilderFactory.java lucene/java/branches/flex_1458/docs/contributions.html lucene/java/branches/flex_1458/docs/demo.html lucene/java/branches/flex_1458/docs/demo2.html lucene/java/branches/flex_1458/docs/demo3.html lucene/java/branches/flex_1458/docs/demo4.html lucene/java/branches/flex_1458/docs/fileformats.html lucene/java/branches/flex_1458/docs/fileformats.pdf lucene/java/branches/flex_1458/docs/gettingstarted.html lucene/java/branches/flex_1458/docs/index.html lucene/java/branches/flex_1458/docs/index.pdf lucene/java/branches/flex_1458/docs/linkmap.html lucene/java/branches/flex_1458/docs/linkmap.pdf lucene/java/branches/flex_1458/docs/lucene-contrib/index.html lucene/java/branches/flex_1458/docs/queryparsersyntax.html lucene/java/branches/flex_1458/docs/scoring.html lucene/java/branches/flex_1458/docs/scoring.pdf lucene/java/branches/flex_1458/docs/skin/basic.css lucene/java/branches/flex_1458/docs/skin/images/rc-b-l-15-1body-2menu-3menu.png lucene/java/branches/flex_1458/docs/skin/images/rc-b-r-15-1body-2menu-3menu.png lucene/java/branches/flex_1458/docs/skin/images/rc-b-r-5-1header-2tab-selected-3tab-selected.png lucene/java/branches/flex_1458/docs/skin/images/rc-t-l-5-1header-2searchbox-3searchbox.png lucene/java/branches/flex_1458/docs/skin/images/rc-t-l-5-1header-2tab-selected-3tab-selected.png lucene/java/branches/flex_1458/docs/skin/images/rc-t-l-5-1header-2tab-unselected-3tab-unselected.png lucene/java/branches/flex_1458/docs/skin/images/rc-t-r-15-1body-2menu-3menu.png lucene/java/branches/flex_1458/docs/skin/images/rc-t-r-5-1header-2searchbox-3searchbox.png lucene/java/branches/flex_1458/docs/skin/images/rc-t-r-5-1header-2tab-selected-3tab-selected.png lucene/java/branches/flex_1458/docs/skin/images/rc-t-r-5-1header-2tab-unselected-3tab-unselected.png lucene/java/branches/flex_1458/docs/skin/print.css lucene/java/branches/flex_1458/docs/skin/profile.css lucene/java/branches/flex_1458/docs/skin/screen.css lucene/java/branches/flex_1458/src/demo/org/apache/lucene/demo/html/Entities.java lucene/java/branches/flex_1458/src/demo/org/apache/lucene/demo/html/Tags.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/analysis/CharArraySet.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/analysis/standard/StandardTokenizer.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex lucene/java/branches/flex_1458/src/java/org/apache/lucene/document/NumericField.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/DocFieldConsumers.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/DocumentsWriter.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/FieldInfos.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/FreqProxTermsWriter.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/FreqProxTermsWriterPerField.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexDeletionPolicy.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexFileDeleter.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexReader.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/KeepOnlyLastCommitDeletionPolicy.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/MultiReader.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/NormsWriter.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/NormsWriterPerField.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentInfo.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentInfos.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentMergeQueue.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentReader.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/Term.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/TermsHash.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexReader.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/codecs/standard/StandardDocsReader.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/codecs/standard/StandardPositionsReader.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictReader.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/queryParser/MultiFieldQueryParser.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanQuery.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/BooleanScorer2.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ConjunctionScorer.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DisjunctionSumScorer.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/DocIdSetIterator.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheTermsFilter.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldDocSortedHitQueue.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldValueHitQueue.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilterManager.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FilteredDocIdSet.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiPhraseQuery.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiSearcher.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ParallelMultiSearcher.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Query.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Searchable.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Searcher.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Similarity.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Sort.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/TermRangeQuery.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/TimeLimitingCollector.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/TopDocsCollector.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/TopFieldCollector.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/function/CustomScoreQuery.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/function/FieldCacheSource.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/function/OrdFieldSource.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/function/ReverseOrdFieldSource.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/package.html lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/spans/SpanOrQuery.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/Directory.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/FSDirectory.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/FileSwitchDirectory.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/Lock.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/NoLockFactory.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMDirectory.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/SimpleFSLockFactory.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/AttributeSource.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/Constants.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/SimpleStringInterner.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/SortedVIntList.java lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/Version.java lucene/java/branches/flex_1458/src/site/changes/changes2html.pl lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/fileformats.xml lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/index.xml lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/scoring.xml lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/site.xml lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/tabs.xml lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestISOLatin1AccentFilter.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/document/TestDateTools.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/document/TestNumberTools.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (props changed) lucene/java/branches/flex_1458/src/test/org/apache/lucene/index/TestIndexReader.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/index/TestIndexWriter.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/index/TestIndexWriterReader.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/index/TestTermVectorsReader.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/JustCompileSearch.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestDocIdSet.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestFieldCache.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestFuzzyQuery.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/search/TestTimeLimitingCollector.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/LocalizedTestCase.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/LuceneTestCase.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/TestNumericUtils.java lucene/java/branches/flex_1458/src/test/org/apache/lucene/util/TestPriorityQueue.java Propchange: lucene/java/branches/flex_1458/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Nov 16 21:24:41 2009 @@ -1,4 +1,5 @@ /lucene/java/branches/lucene_2_4:748824 /lucene/java/branches/lucene_2_9:817269-818600,829134,829881,831036 /lucene/java/branches/lucene_2_9_back_compat_tests:818601-821336 -/lucene/java/trunk:824912-825292,827043-833960 +/lucene/java/branches/lucene_3_0:880793 +/lucene/java/trunk:824912-825292,827043-833960,880727-880846 Modified: lucene/java/branches/flex_1458/CHANGES.txt URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/CHANGES.txt?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/CHANGES.txt (original) +++ lucene/java/branches/flex_1458/CHANGES.txt Mon Nov 16 21:24:41 2009 @@ -3,19 +3,42 @@ ======================= Trunk (not yet released) ======================= +======================= Release 3.0.0 2009-11-25 ======================= + Changes in backwards compatibility policy * LUCENE-1979: Change return type of SnapshotDeletionPolicy#snapshot() from IndexCommitPoint to IndexCommit. Code that uses this method - needs to be recompiled against Lucene 3.0 in order to work. The previously - deprecated IndexCommitPoint is also removed. (Michael Busch) + needs to be recompiled against Lucene 3.0 in order to work. The + previously deprecated IndexCommitPoint is also removed. + (Michael Busch) -* oal.Lock.isLocked is now allowed to throw an IOException +* o.a.l.Lock.isLocked() is now allowed to throw an IOException. + (Mike McCandless) * LUCENE-2030: CachingWrapperFilter and CachingSpanFilter now hide the internal cache implementation for thread safety, before it was declared protected. (Peter Lenahan, Uwe Schindler, Simon Willnauer) +* LUCENE-2053: If you call Thread.interrupt() on a thread inside + Lucene, Lucene will do its best to interrupt the thread. However, + instead of throwing InterruptedException (which is a checked + exception), you'll get an oal.util.ThreadInterruptedException (an + unchecked exception, subclassing RuntimeException). The interrupt + status on the thread is cleared when this exception is thrown. + (Mike McCandless) + +* LUCENE-2052: Some methods in Lucene core were changed to accept + Java 5 varargs. This is not a backwards compatibility problem as + long as you not try to override such a method. We left common + overridden methods unchanged and added varargs to constructors, + static, or final methods (MultiSearcher,...). (Uwe Schindler) + +* LUCENE-1558: IndexReader.open(Directory) now opens a readOnly=true + reader, and new IndexSearcher(Directory) does the same. Note that + this is a change in the default from 2.9, when these methods were + previously deprecated. (Mike McCandless) + Changes in runtime behavior * LUCENE-1677: Remove the system property to set SegmentReader class @@ -40,71 +63,76 @@ fields when reading. You have to reindex to do that. (Michael Busch, Uwe Schindler) -API Changes +* LUCENE-2060: Changed ConcurrentMergeScheduler's default for + maxNumThreads from 3 to 1, because in practice we get the most + gains from running a single merge in the background. More than one + concurrent merge causes a lot of thrashing (though it's possible on + SSD storage that there would be net gains). (Jason Rutherglen, + Mike McCandless) -* LUCENE-1257, LUCENE-1984, LUCENE-1985, ...: Port to Java 1.5 [not yet finished]. - (Uwe Schindler, Robert Muir, Karl Wettin, Paul Elschot, Kay Kay) +API Changes -* LUCENE-1944: Remove (all) deprecated methods/constructors taking - String/File directory pathes in IndexReader / IndexWriter and others. - Also make FSDirectory abstract. (Uwe Schindler) +* LUCENE-1257, LUCENE-1984, LUCENE-1985, LUCENE-2057: Port to Java 1.5. + (Uwe Schindler, Robert Muir, Karl Wettin, Paul Elschot, Kay Kay, Shai Erera) +* Generify Lucene API: + + - TokenStream/AttributeSource: Now addAttribute()/getAttribute() return an + instance of the requested attribute interface and no cast needed anymore. + - NumericRangeQuery, NumericRangeFilter, and FieldCacheRangeFilter + now have Integer, Long, Float, Double as type param. + - Document.getFields() returns List + - Query.extractTerms(Set) + - CharArraySet and stop word sets in core/contrib + - PriorityQueue + - TopDocCollector + - MultiTermQueryWrapperFilter + - CloseableThreadLocal + - MapOfSets + - o.a.l.util.cache package + - lot's of internal APIs of IndexWriter + + (Uwe Schindler, Michael Busch, Kay Kay, Robert Muir, Adriano Crestani) + +* LUCENE-1944, LUCENE-1856, LUCENE-1957, LUCENE-1960, LUCENE-1961, + LUCENE-1968, LUCENE-1970, LUCENE-1946, LUCENE-1971, LUCENE-1975, + LUCENE-1972, LUCENE-1978, LUCENE-944, LUCENE-1979, LUCENE-1973, LUCENE-2011: + Remove deprecated methods/constructors/classes: + + - All String/File directory paths in IndexReader / + IndexSearcher / IndexWriter. + - Remove FSDirectory.getDirectory() + - Make FSDirectory abstract. + - Remove Field.Store.COMPRESS (see above). + - Remove Filter.bits(IndexReader) method and make + Filter.getDocIdSet(IndexReader) abstract. + - Remove old DocIdSetIterator methods and make the new ones abstract. + - Remove some methods in PriorityQueue. + - Remove old TokenStream API and backwards compatibility layer. + - Remove RangeQuery, RangeFilter and ConstantScoreRangeQuery. + - Remove SpanQuery.getTerms(). + - Remove ExtendedFieldCache, custom and auto caches, SortField.AUTO. + - Remove old-style custom sort. + - Remove Legacy search setting in SortField. + - Remove Hits and all references from core and contrib. + - Remove HitCollector and its TopDocs support implementations. + - Remove term field and accessors in MultiTermQuery + (and fix Highlighter). + - Remove methods in BooleanQuery. + - Remove methods in Similarity. + - Remove BoostingTermQuery. + - Remove MultiValueSource. + - Remove Scorer.explain(int). + + ...and some other minor ones (Uwe Schindler, Michael Busch, Mark Miller) + * LUCENE-1925: Make IndexSearcher's subReaders and docStarts members protected; add expert ctor to directly specify reader, subReaders and docStarts. (John Wang, Tim Smith via Mike McCandless) -* LUCENE-1855: Convert TokenStream/AttributeSource API to Generics. - Now addAttribute()/getAttribute() return an instance of the requested - attribute interface and no cast needed anymore. (Uwe Schindler, - Michael Busch, Robert Muir, Adriano Crestani) - -* LUCENE-1857: Convert NumericRangeQuery API to Generics. NumericRangeQuery - and NumericRangeFilter now have Integer, Long, Float, Double as type param. - (Uwe Schindler) - -* LUCENE-1856: Remove Hits and all references from core and contrib. - (Michael Busch) - -* LUCENE-1957: Remove Filter.bits(IndexReader) method and make - Filter.getDocIdSet(IndexReader) abstract. (Michael Busch) - -* LUCENE-1960: Remove deprecated Field.Store.COMPRESS. (Michael Busch) - -* LUCENE-1961: Remove remaining deprecations from document package. - (Michael Busch) - -* LUCENE-1968: Remove deprecated methods in PriorityQueue. (Michael Busch) - -* LUCENE-1970: Remove deprecated methods in DocIdSetIterator and make - new ones abstract. (Michael Busch) - -* LUCENE-1946: Remove deprecated old TokenStream API. (Uwe Schindler) - * LUCENE-1753: Make not yet final TokenStreams final to enforce decorator pattern. (Uwe Schindler) -* LUCENE-1971: Remove deprecated RangeQuery, RangeFilter and - ConstantScoreRangeQuery. (Uwe Schindler) - -* LUCENE-1975: Remove deprecated SpanQuery.getTerms() and generify - Query.extractTerms(Set) (Michael Busch) - -* LUCENE-1972, LUCENE-1978: Remove deprecated ExtendedFieldCache, - custom and auto caches, SortField.AUTO, deprecated custom sort, - deprecated HitCollector, legacy search setting in SortField. - Make new Sort(SortField...) and Sort.setSort(SortField...) varargs- - enabled. (Uwe Schindler) - -* LUCENE-1977: Remove deprecated Term field and accessors in - MultiTermQuery. (Uwe Schindler) - -* LUCENE-944: Remove deprecated methods in BooleanQuery. (Michael Busch) - -* LUCENE-1979: Remove remaining deprecations from indexer package. - (Uwe Schindler, Michael Busch) - -* LUCENE-1989: Generify CharArraySet. (Uwe Schindler) - * LUCENE-1945: All public classes that have a close() method now also implement java.io.Closeable (IndexReader, IndexWriter, Directory,...). (Uwe Schindler) @@ -113,11 +141,6 @@ is no backwards-break, only a change of the super class. Parameter was deprecated and will be removed in a later version. (DM Smith, Uwe Schindler) - -* LUCENE-1973: Remove deprecated Similarity methods. (Uwe Schindler) - -* LUCENE-2011: Remove deprecated Scorer.explain(int). - (Uwe Schindler, Mark Miller) Bug fixes @@ -135,6 +158,14 @@ * LUCENE-1933: Provide a convenience AttributeFactory that creates a Token instance for all basic attributes. (Uwe Schindler) +* LUCENE-2041: Parallelize the rest of ParallelMultiSearcher. Lots of + code refactoring and Java 5 concurrent support in MultiSearcher. + (Joey Surls, Simon Willnauer via Uwe Schindler) + +* LUCENE-2051: Add CharArraySet.copy() as a simple method to copy + any Set to a CharArraySet that is optimized, if Set is already + an CharArraySet. (Simon Willnauer) + Optimizations * LUCENE-1183: Optimize Levenshtein Distance computation in @@ -147,7 +178,8 @@ * LUCENE-486: Remove test->demo dependencies. (Michael Busch) -Test Cases +* LUCENE-2024: Raise build requirements to Java 1.5 and ANT 1.7.0 + (Uwe Schindler, Mike McCandless) ======================= Release 2.9.1 2009-11-06 ======================= @@ -192,6 +224,10 @@ infoStream on IndexWriter and then add an empty document and commit (Shai Erera via Mike McCandless) + * LUCENE-2046: IndexReader should not see the index as changed, after + IndexWriter.prepareCommit has been called but before + IndexWriter.commit is called. (Peter Keegan via Mike McCandless) + API Changes * Un-deprecate search(Weight weight, Filter filter, int n) from Modified: lucene/java/branches/flex_1458/common-build.xml URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/common-build.xml?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/common-build.xml (original) +++ lucene/java/branches/flex_1458/common-build.xml Mon Nov 16 21:24:41 2009 @@ -40,9 +40,9 @@ - + - + @@ -60,8 +60,8 @@ - - + + Propchange: lucene/java/branches/flex_1458/contrib/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Nov 16 21:24:41 2009 @@ -1,4 +1,5 @@ /lucene/java/branches/lucene_2_4/contrib:748824 /lucene/java/branches/lucene_2_9/contrib:817269-818600,825998,829134,829816,829881,831036 /lucene/java/branches/lucene_2_9_back_compat_tests/contrib:818601-821336 -/lucene/java/trunk/contrib:824912-825292,827043-833960 +/lucene/java/branches/lucene_3_0/contrib:880793 +/lucene/java/trunk/contrib:824912-825292,827043-833960,880727-880846 Modified: lucene/java/branches/flex_1458/contrib/CHANGES.txt URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/CHANGES.txt?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/CHANGES.txt (original) +++ lucene/java/branches/flex_1458/contrib/CHANGES.txt Mon Nov 16 21:24:41 2009 @@ -1,6 +1,8 @@ Lucene contrib change Log -======================= Trunk (not yet released) ======================= +======================= Trunk (not yet released) ========================= + +======================= Release 3.0.0 (2009-11-25) ======================= Changes in backwards compatibility policy Propchange: lucene/java/branches/flex_1458/contrib/CHANGES.txt ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Nov 16 21:24:41 2009 @@ -1,4 +1,5 @@ /lucene/java/branches/lucene_2_4/contrib/CHANGES.txt:748824 /lucene/java/branches/lucene_2_9/contrib/CHANGES.txt:817269-818600,825998,826775,829134,829816,829881,831036 /lucene/java/branches/lucene_2_9_back_compat_tests/contrib/CHANGES.txt:818601-821336 -/lucene/java/trunk/contrib/CHANGES.txt:829439-833960 +/lucene/java/branches/lucene_3_0/contrib/CHANGES.txt:880793 +/lucene/java/trunk/contrib/CHANGES.txt:829439-833960,880727-880846 Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/ar/ArabicAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -23,11 +23,11 @@ import java.io.InputStreamReader; import java.io.Reader; import java.util.Collections; -import java.util.HashSet; import java.util.Hashtable; import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; @@ -67,7 +67,8 @@ */ private final Set stoptable; /** - * The comment character in the stopwords file. All lines prefixed with this will be ignored + * The comment character in the stopwords file. All lines prefixed with this will be ignored + * @deprecated use {@link WordlistLoader#getWordSet(File, String)} directly */ public static final String STOPWORDS_COMMENT = "#"; @@ -116,32 +117,44 @@ * Builds an analyzer with the default stop words: {@link #DEFAULT_STOPWORD_FILE}. */ public ArabicAnalyzer(Version matchVersion) { + this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public ArabicAnalyzer(Version matchVersion, Set stopwords){ + stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); this.matchVersion = matchVersion; - stoptable = DefaultSetHolder.DEFAULT_STOP_SET; } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #ArabicAnalyzer(Version, Set)} instead */ public ArabicAnalyzer( Version matchVersion, String... stopwords ) { - stoptable = StopFilter.makeStopSet( stopwords ); - this.matchVersion = matchVersion; + this(matchVersion, StopFilter.makeStopSet( stopwords )); } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #ArabicAnalyzer(Version, Set)} instead */ public ArabicAnalyzer( Version matchVersion, Hashtable stopwords ) { - stoptable = new HashSet(stopwords.keySet()); - this.matchVersion = matchVersion; + this(matchVersion, stopwords.keySet()); } /** * Builds an analyzer with the given stop words. Lines can be commented out using {@link #STOPWORDS_COMMENT} + * @deprecated use {@link #ArabicAnalyzer(Version, Set)} instead */ public ArabicAnalyzer( Version matchVersion, File stopwords ) throws IOException { - stoptable = WordlistLoader.getWordSet( stopwords, STOPWORDS_COMMENT); - this.matchVersion = matchVersion; + this(matchVersion, WordlistLoader.getWordSet( stopwords, STOPWORDS_COMMENT)); } Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/br/BrazilianAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -20,12 +20,14 @@ import java.io.File; import java.io.IOException; import java.io.Reader; +import java.util.Arrays; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.Collections; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; @@ -51,7 +53,9 @@ /** * List of typical Brazilian Portuguese stopwords. + * @deprecated use {@link #getDefaultStopSet()} instead */ + // TODO make this private in 3.1 public final static String[] BRAZILIAN_STOP_WORDS = { "a","ainda","alem","ambas","ambos","antes", "ao","aonde","aos","apos","aquele","aqueles", @@ -73,52 +77,96 @@ "suas","tal","tambem","teu","teus","toda","todas","todo", "todos","tua","tuas","tudo","um","uma","umas","uns"}; + /** + * Returns an unmodifiable instance of the default stop-words set. + * @return an unmodifiable instance of the default stop-words set. + */ + public static Set getDefaultStopSet(){ + return DefaultSetHolder.DEFAULT_STOP_SET; + } + + private static class DefaultSetHolder { + static final Set DEFAULT_STOP_SET = CharArraySet + .unmodifiableSet(new CharArraySet(Arrays.asList(BRAZILIAN_STOP_WORDS), + false)); + } /** * Contains the stopwords used with the {@link StopFilter}. */ - private Set stoptable = Collections.emptySet(); + private final Set stoptable; /** * Contains words that should be indexed but not stemmed. */ - private Set excltable = Collections.emptySet(); - private final Version matchVersion; + // TODO make this private in 3.1 + private Set excltable = Collections.emptySet(); + + private final Version matchVersion; /** * Builds an analyzer with the default stop words ({@link #BRAZILIAN_STOP_WORDS}). */ public BrazilianAnalyzer(Version matchVersion) { - stoptable = StopFilter.makeStopSet( BRAZILIAN_STOP_WORDS ); - this.matchVersion = matchVersion; - } - - /** - * Builds an analyzer with the given stop words. - */ - public BrazilianAnalyzer( Version matchVersion, String... stopwords ) { - stoptable = StopFilter.makeStopSet( stopwords ); - this.matchVersion = matchVersion; + this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET); } - + /** - * Builds an analyzer with the given stop words. - */ - public BrazilianAnalyzer( Version matchVersion, Map stopwords ) { - stoptable = new HashSet(stopwords.keySet()); - this.matchVersion = matchVersion; - } + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public BrazilianAnalyzer(Version matchVersion, Set stopwords) { + stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); + this.matchVersion = matchVersion; + } + + /** + * Builds an analyzer with the given stop words and stemming exclusion words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public BrazilianAnalyzer(Version matchVersion, Set stopwords, + Set stemExclusionSet) { + this(matchVersion, stopwords); + excltable = CharArraySet.unmodifiableSet(CharArraySet + .copy(stemExclusionSet)); + } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #BrazilianAnalyzer(Version, Set)} instead */ - public BrazilianAnalyzer( Version matchVersion, File stopwords ) throws IOException { - stoptable = WordlistLoader.getWordSet( stopwords ); - this.matchVersion = matchVersion; - } + public BrazilianAnalyzer(Version matchVersion, String... stopwords) { + this(matchVersion, StopFilter.makeStopSet(stopwords)); + } + + /** + * Builds an analyzer with the given stop words. + * @deprecated use {@link #BrazilianAnalyzer(Version, Set)} instead + */ + public BrazilianAnalyzer(Version matchVersion, Map stopwords) { + this(matchVersion, stopwords.keySet()); + } + + /** + * Builds an analyzer with the given stop words. + * @deprecated use {@link #BrazilianAnalyzer(Version, Set)} instead + */ + public BrazilianAnalyzer(Version matchVersion, File stopwords) + throws IOException { + this(matchVersion, WordlistLoader.getWordSet(stopwords)); + } /** * Builds an exclusionlist from an array of Strings. + * @deprecated use {@link #BrazilianAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable( String... exclusionlist ) { excltable = StopFilter.makeStopSet( exclusionlist ); @@ -126,13 +174,15 @@ } /** * Builds an exclusionlist from a {@link Map}. + * @deprecated use {@link #BrazilianAnalyzer(Version, Set, Set)} instead */ - public void setStemExclusionTable( Map exclusionlist ) { - excltable = new HashSet(exclusionlist.keySet()); + public void setStemExclusionTable( Map exclusionlist ) { + excltable = new HashSet(exclusionlist.keySet()); setPreviousTokenStream(null); // force a new stemmer to be created } /** * Builds an exclusionlist from the words contained in the given file. + * @deprecated use {@link #BrazilianAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable( File exclusionlist ) throws IOException { excltable = WordlistLoader.getWordSet( exclusionlist ); Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cjk/CJKAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -18,6 +18,7 @@ */ import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; @@ -25,6 +26,7 @@ import java.io.IOException; import java.io.Reader; +import java.util.Arrays; import java.util.Set; @@ -39,7 +41,10 @@ /** * An array containing some common English words that are not usually * useful for searching and some double-byte interpunctions. + * @deprecated use {@link #getDefaultStopSet()} instead */ + // TODO make this final in 3.1 - + // this might be revised and merged with StopFilter stop words too public final static String[] STOP_WORDS = { "a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", @@ -54,9 +59,22 @@ //~ Instance fields -------------------------------------------------------- /** + * Returns an unmodifiable instance of the default stop-words set. + * @return an unmodifiable instance of the default stop-words set. + */ + public static Set getDefaultStopSet(){ + return DefaultSetHolder.DEFAULT_STOP_SET; + } + + private static class DefaultSetHolder { + static final Set DEFAULT_STOP_SET = CharArraySet + .unmodifiableSet(new CharArraySet(Arrays.asList(STOP_WORDS), + false)); + } + /** * stop word list */ - private final Set stopTable; + private final Set stopTable; private final Version matchVersion; //~ Constructors ----------------------------------------------------------- @@ -65,7 +83,19 @@ * Builds an analyzer which removes words in {@link #STOP_WORDS}. */ public CJKAnalyzer(Version matchVersion) { - stopTable = StopFilter.makeStopSet(STOP_WORDS); + this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public CJKAnalyzer(Version matchVersion, Set stopwords){ + stopTable = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); this.matchVersion = matchVersion; } @@ -73,6 +103,7 @@ * Builds an analyzer which removes words in the provided array. * * @param stopWords stop word array + * @deprecated use {@link #CJKAnalyzer(Version, Set)} instead */ public CJKAnalyzer(Version matchVersion, String... stopWords) { stopTable = StopFilter.makeStopSet(stopWords); Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/compound/hyphenation/HyphenationTree.java Mon Nov 16 21:24:41 2009 @@ -44,7 +44,7 @@ /** * This map stores hyphenation exceptions */ - protected HashMap stoplist; + protected HashMap stoplist; /** * This map stores the character classes @@ -57,7 +57,7 @@ private transient TernaryTree ivalues; public HyphenationTree() { - stoplist = new HashMap(23); // usually a small table + stoplist = new HashMap(23); // usually a small table classmap = new TernaryTree(); vspace = new ByteVector(); vspace.alloc(1); // this reserves index 0, which we don't use @@ -363,7 +363,7 @@ if (stoplist.containsKey(sw)) { // assume only simple hyphens (Hyphen.pre="-", Hyphen.post = Hyphen.no = // null) - ArrayList hw = (ArrayList) stoplist.get(sw); + ArrayList hw = stoplist.get(sw); int j = 0; for (i = 0; i < hw.size(); i++) { Object o = hw.get(i); Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/cz/CzechAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -18,6 +18,7 @@ */ import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; @@ -29,6 +30,7 @@ import org.apache.lucene.util.Version; import java.io.*; +import java.util.Arrays; import java.util.HashSet; import java.util.Set; import java.util.Collections; @@ -48,7 +50,9 @@ /** * List of typical stopwords. + * @deprecated use {@link #getDefaultStopSet()} instead */ + // TODO make this private in 3.1 public final static String[] CZECH_STOP_WORDS = { "a","s","k","o","i","u","v","z","dnes","cz","t\u00edmto","bude\u0161","budem", "byli","jse\u0161","m\u016fj","sv\u00fdm","ta","tomto","tohle","tuto","tyto", @@ -69,51 +73,84 @@ "j\u00ed","ji","m\u011b","mne","jemu","tomu","t\u011bm","t\u011bmu","n\u011bmu","n\u011bmu\u017e", "jeho\u017e","j\u00ed\u017e","jeliko\u017e","je\u017e","jako\u017e","na\u010de\u017e", }; + + /** + * Returns a set of default Czech-stopwords + * @return a set of default Czech-stopwords + */ + public static final Set getDefaultStopSet(){ + return DefaultSetHolder.DEFAULT_SET; + } + + private static class DefaultSetHolder { + private static final Set DEFAULT_SET = CharArraySet.unmodifiableSet(new CharArraySet( + Arrays.asList(CZECH_STOP_WORDS), false)); + } /** * Contains the stopwords used with the {@link StopFilter}. */ - private Set stoptable; - private final Version matchVersion; + // TODO make this final in 3.1 + private Set stoptable; + private final Version matchVersion; /** * Builds an analyzer with the default stop words ({@link #CZECH_STOP_WORDS}). */ public CzechAnalyzer(Version matchVersion) { - stoptable = StopFilter.makeStopSet( CZECH_STOP_WORDS ); - this.matchVersion = matchVersion; + this(matchVersion, DefaultSetHolder.DEFAULT_SET); } + + /** + * Builds an analyzer with the given stop words and stemming exclusion words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public CzechAnalyzer(Version matchVersion, Set stopwords) { + this.matchVersion = matchVersion; + this.stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); + } + /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #CzechAnalyzer(Version, Set)} instead */ - public CzechAnalyzer(Version matchVersion, String... stopwords) { - stoptable = StopFilter.makeStopSet( stopwords ); - this.matchVersion = matchVersion; + public CzechAnalyzer(Version matchVersion, String... stopwords) { + this(matchVersion, StopFilter.makeStopSet( stopwords )); } - public CzechAnalyzer(Version matchVersion, HashSet stopwords) { - stoptable = stopwords; - this.matchVersion = matchVersion; + /** + * Builds an analyzer with the given stop words. + * + * @deprecated use {@link #CzechAnalyzer(Version, Set)} instead + */ + public CzechAnalyzer(Version matchVersion, HashSet stopwords) { + this(matchVersion, (Set)stopwords); } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #CzechAnalyzer(Version, Set)} instead */ - public CzechAnalyzer(Version matchVersion, File stopwords ) throws IOException { - stoptable = WordlistLoader.getWordSet( stopwords ); - this.matchVersion = matchVersion; + public CzechAnalyzer(Version matchVersion, File stopwords ) throws IOException { + this(matchVersion, (Set)WordlistLoader.getWordSet( stopwords )); } /** * Loads stopwords hash from resource stream (file, database...). * @param wordfile File containing the wordlist * @param encoding Encoding used (win-1250, iso-8859-2, ...), null for default system encoding + * @deprecated use {@link WordlistLoader#getWordSet(Reader, String) } + * and {@link #CzechAnalyzer(Version, Set)} instead */ public void loadStopWords( InputStream wordfile, String encoding ) { setPreviousTokenStream(null); // force a new stopfilter to be created if ( wordfile == null ) { - stoptable = new HashSet(); + stoptable = Collections.emptySet(); return; } try { Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/de/GermanAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -21,11 +21,13 @@ import java.io.File; import java.io.IOException; import java.io.Reader; +import java.util.Arrays; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; @@ -53,7 +55,9 @@ /** * List of typical german stopwords. + * @deprecated use {@link #getDefaultStopSet()} instead */ + //TODO make this private in 3.1 public final static String[] GERMAN_STOP_WORDS = { "einer", "eine", "eines", "einem", "einen", "der", "die", "das", "dass", "daß", @@ -68,58 +72,99 @@ "mein", "sein", "kein", "durch", "wegen", "wird" }; + + /** + * Returns a set of default German-stopwords + * @return a set of default German-stopwords + */ + public static final Set getDefaultStopSet(){ + return DefaultSetHolder.DEFAULT_SET; + } + + private static class DefaultSetHolder { + private static final Set DEFAULT_SET = CharArraySet.unmodifiableSet(new CharArraySet( + Arrays.asList(GERMAN_STOP_WORDS), false)); + } /** * Contains the stopwords used with the {@link StopFilter}. */ - private Set stopSet = new HashSet(); + //TODO make this final in 3.1 + private Set stopSet; /** * Contains words that should be indexed but not stemmed. */ - private Set exclusionSet = new HashSet(); + // TODO make this final in 3.1 + private Set exclusionSet; private final Version matchVersion; /** * Builds an analyzer with the default stop words: - * {@link #GERMAN_STOP_WORDS}. + * {@link #getDefaultStopSet()}. */ public GermanAnalyzer(Version matchVersion) { - stopSet = StopFilter.makeStopSet(GERMAN_STOP_WORDS); + this(matchVersion, DefaultSetHolder.DEFAULT_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public GermanAnalyzer(Version matchVersion, Set stopwords) { + this(matchVersion, stopwords, CharArraySet.EMPTY_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + * @param stemExclusionSet + * a stemming exclusion set + */ + public GermanAnalyzer(Version matchVersion, Set stopwords, Set stemExclusionSet) { + stopSet = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); + exclusionSet = CharArraySet.unmodifiableSet(CharArraySet.copy(stemExclusionSet)); setOverridesTokenStreamMethod(GermanAnalyzer.class); this.matchVersion = matchVersion; } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #GermanAnalyzer(Version, Set)} */ public GermanAnalyzer(Version matchVersion, String... stopwords) { - stopSet = StopFilter.makeStopSet(stopwords); - setOverridesTokenStreamMethod(GermanAnalyzer.class); - this.matchVersion = matchVersion; + this(matchVersion, StopFilter.makeStopSet(stopwords)); } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #GermanAnalyzer(Version, Set)} */ - public GermanAnalyzer(Version matchVersion, Map stopwords) { - stopSet = new HashSet(stopwords.keySet()); - setOverridesTokenStreamMethod(GermanAnalyzer.class); - this.matchVersion = matchVersion; + public GermanAnalyzer(Version matchVersion, Map stopwords) { + this(matchVersion, stopwords.keySet()); + } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #GermanAnalyzer(Version, Set)} */ public GermanAnalyzer(Version matchVersion, File stopwords) throws IOException { - stopSet = WordlistLoader.getWordSet(stopwords); - setOverridesTokenStreamMethod(GermanAnalyzer.class); - this.matchVersion = matchVersion; + this(matchVersion, WordlistLoader.getWordSet(stopwords)); } /** * Builds an exclusionlist from an array of Strings. + * @deprecated use {@link #GermanAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(String[] exclusionlist) { exclusionSet = StopFilter.makeStopSet(exclusionlist); @@ -128,6 +173,7 @@ /** * Builds an exclusionlist from a {@link Map} + * @deprecated use {@link #GermanAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(Map exclusionlist) { exclusionSet = new HashSet(exclusionlist.keySet()); @@ -136,6 +182,7 @@ /** * Builds an exclusionlist from the words contained in the given file. + * @deprecated use {@link #GermanAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(File exclusionlist) throws IOException { exclusionSet = WordlistLoader.getWordSet(exclusionlist); Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/el/GreekAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -18,6 +18,7 @@ import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; @@ -27,7 +28,7 @@ import java.io.IOException; import java.io.Reader; -import java.util.HashSet; +import java.util.Arrays; import java.util.Map; import java.util.Set; @@ -58,39 +59,61 @@ "εκεινοι", "εκεινεσ", "εκεινα", "εκεινων", "εκεινουσ", "οπωσ", "ομωσ", "ισωσ", "οσο", "οτι" }; + + /** + * Returns a set of default Greek-stopwords + * @return a set of default Greek-stopwords + */ + public static final Set getDefaultStopSet(){ + return DefaultSetHolder.DEFAULT_SET; + } + + private static class DefaultSetHolder { + private static final Set DEFAULT_SET = CharArraySet.unmodifiableSet(new CharArraySet( + Arrays.asList(GREEK_STOP_WORDS), false)); + } /** * Contains the stopwords used with the {@link StopFilter}. */ - private Set stopSet = new HashSet(); + private final Set stopSet; private final Version matchVersion; public GreekAnalyzer(Version matchVersion) { - super(); - stopSet = StopFilter.makeStopSet(GREEK_STOP_WORDS); + this(matchVersion, DefaultSetHolder.DEFAULT_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public GreekAnalyzer(Version matchVersion, Set stopwords) { + stopSet = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); this.matchVersion = matchVersion; } /** * Builds an analyzer with the given stop words. * @param stopwords Array of stopwords to use. + * @deprecated use {@link #GreekAnalyzer(Version, Set)} instead */ public GreekAnalyzer(Version matchVersion, String... stopwords) { - super(); - stopSet = StopFilter.makeStopSet(stopwords); - this.matchVersion = matchVersion; + this(matchVersion, StopFilter.makeStopSet(stopwords)); } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #GreekAnalyzer(Version, Set)} instead */ - public GreekAnalyzer(Version matchVersion, Map stopwords) + public GreekAnalyzer(Version matchVersion, Map stopwords) { - super(); - stopSet = new HashSet(stopwords.keySet()); - this.matchVersion = matchVersion; + this(matchVersion, stopwords.keySet()); } /** Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fa/PersianAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -23,11 +23,11 @@ import java.io.InputStreamReader; import java.io.Reader; import java.util.Collections; -import java.util.HashSet; import java.util.Hashtable; import java.util.Set; import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; @@ -60,7 +60,7 @@ /** * Contains the stopwords used with the StopFilter. */ - private final Set stoptable; + private final Set stoptable; /** * The comment character in the stopwords file. All lines prefixed with this @@ -72,7 +72,7 @@ * Returns an unmodifiable instance of the default stop-words set. * @return an unmodifiable instance of the default stop-words set. */ - public static Set getDefaultStopSet(){ + public static Set getDefaultStopSet(){ return DefaultSetHolder.DEFAULT_STOP_SET; } @@ -81,7 +81,7 @@ * accesses the static final set the first time.; */ private static class DefaultSetHolder { - static final Set DEFAULT_STOP_SET; + static final Set DEFAULT_STOP_SET; static { try { @@ -114,33 +114,45 @@ * {@link #DEFAULT_STOPWORD_FILE}. */ public PersianAnalyzer(Version matchVersion) { - stoptable = DefaultSetHolder.DEFAULT_STOP_SET; + this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public PersianAnalyzer(Version matchVersion, Set stopwords){ + stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); this.matchVersion = matchVersion; } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #PersianAnalyzer(Version, Set)} instead */ - public PersianAnalyzer(Version matchVersion, String[] stopwords) { - stoptable = StopFilter.makeStopSet(stopwords); - this.matchVersion = matchVersion; + public PersianAnalyzer(Version matchVersion, String... stopwords) { + this(matchVersion, StopFilter.makeStopSet(stopwords)); } /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #PersianAnalyzer(Version, Set)} instead */ - public PersianAnalyzer(Version matchVersion, Hashtable stopwords) { - stoptable = new HashSet(stopwords.keySet()); - this.matchVersion = matchVersion; + public PersianAnalyzer(Version matchVersion, Hashtable stopwords) { + this(matchVersion, stopwords.keySet()); } /** * Builds an analyzer with the given stop words. Lines can be commented out * using {@link #STOPWORDS_COMMENT} + * @deprecated use {@link #PersianAnalyzer(Version, Set)} instead */ public PersianAnalyzer(Version matchVersion, File stopwords) throws IOException { - stoptable = WordlistLoader.getWordSet(stopwords, STOPWORDS_COMMENT); - this.matchVersion = matchVersion; + this(matchVersion, WordlistLoader.getWordSet(stopwords, STOPWORDS_COMMENT)); } /** Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/fr/FrenchAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -18,6 +18,7 @@ */ import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.LowerCaseFilter; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; @@ -31,6 +32,7 @@ import java.io.File; import java.io.IOException; import java.io.Reader; +import java.util.Arrays; import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -60,7 +62,9 @@ /** * Extended list of typical French stopwords. + * @deprecated use {@link #getDefaultStopSet()} instead */ + // TODO make this private in 3.1 public final static String[] FRENCH_STOP_WORDS = { "a", "afin", "ai", "ainsi", "après", "attendu", "au", "aujourd", "auquel", "aussi", "autre", "autres", "aux", "auxquelles", "auxquels", "avait", "avant", "avec", "avoir", @@ -89,41 +93,87 @@ /** * Contains the stopwords used with the {@link StopFilter}. */ - private Set stoptable = new HashSet(); + private final Set stoptable; /** * Contains words that should be indexed but not stemmed. */ - private Set excltable = new HashSet(); + //TODO make this final in 3.0 + private Set excltable = new HashSet(); private final Version matchVersion; + + /** + * Returns an unmodifiable instance of the default stop-words set. + * @return an unmodifiable instance of the default stop-words set. + */ + public static Set getDefaultStopSet(){ + return DefaultSetHolder.DEFAULT_STOP_SET; + } + + private static class DefaultSetHolder { + static final Set DEFAULT_STOP_SET = CharArraySet + .unmodifiableSet(new CharArraySet(Arrays.asList(FRENCH_STOP_WORDS), + false)); + } /** * Builds an analyzer with the default stop words ({@link #FRENCH_STOP_WORDS}). */ public FrenchAnalyzer(Version matchVersion) { - stoptable = StopFilter.makeStopSet(FRENCH_STOP_WORDS); + this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + */ + public FrenchAnalyzer(Version matchVersion, Set stopwords){ + this(matchVersion, stopwords, CharArraySet.EMPTY_SET); + } + + /** + * Builds an analyzer with the given stop words + * + * @param matchVersion + * lucene compatibility version + * @param stopwords + * a stopword set + * @param stemExclutionSet + * a stemming exclusion set + */ + public FrenchAnalyzer(Version matchVersion, Set stopwords, + Set stemExclutionSet) { this.matchVersion = matchVersion; + this.stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); + this.excltable = CharArraySet.unmodifiableSet(CharArraySet + .copy(stemExclutionSet)); } + /** * Builds an analyzer with the given stop words. + * @deprecated use {@link #FrenchAnalyzer(Version, Set)} instead */ public FrenchAnalyzer(Version matchVersion, String... stopwords) { - stoptable = StopFilter.makeStopSet(stopwords); - this.matchVersion = matchVersion; + this(matchVersion, StopFilter.makeStopSet(stopwords)); } /** * Builds an analyzer with the given stop words. * @throws IOException + * @deprecated use {@link #FrenchAnalyzer(Version, Set)} instead */ public FrenchAnalyzer(Version matchVersion, File stopwords) throws IOException { - stoptable = new HashSet(WordlistLoader.getWordSet(stopwords)); - this.matchVersion = matchVersion; + this(matchVersion, WordlistLoader.getWordSet(stopwords)); } /** * Builds an exclusionlist from an array of Strings. + * @deprecated use {@link #FrenchAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(String... exclusionlist) { excltable = StopFilter.makeStopSet(exclusionlist); @@ -132,6 +182,7 @@ /** * Builds an exclusionlist from a Map. + * @deprecated use {@link #FrenchAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(Map exclusionlist) { excltable = new HashSet(exclusionlist.keySet()); @@ -141,6 +192,7 @@ /** * Builds an exclusionlist from the words contained in the given file. * @throws IOException + * @deprecated use {@link #FrenchAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(File exclusionlist) throws IOException { excltable = new HashSet(WordlistLoader.getWordSet(exclusionlist)); Modified: lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java?rev=880963&r1=880962&r2=880963&view=diff ============================================================================== --- lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java (original) +++ lucene/java/branches/flex_1458/contrib/analyzers/common/src/java/org/apache/lucene/analysis/nl/DutchAnalyzer.java Mon Nov 16 21:24:41 2009 @@ -18,9 +18,11 @@ */ import org.apache.lucene.analysis.Analyzer; +import org.apache.lucene.analysis.CharArraySet; import org.apache.lucene.analysis.StopFilter; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.analysis.Tokenizer; +import org.apache.lucene.analysis.WordlistLoader; import org.apache.lucene.analysis.standard.StandardFilter; import org.apache.lucene.analysis.standard.StandardTokenizer; import org.apache.lucene.analysis.standard.StandardAnalyzer; // for javadoc @@ -29,6 +31,8 @@ import java.io.File; import java.io.IOException; import java.io.Reader; +import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Set; @@ -51,6 +55,7 @@ public class DutchAnalyzer extends Analyzer { /** * List of typical Dutch stopwords. + * @deprecated use {@link #getDefaultStopSet()} instead */ public final static String[] DUTCH_STOP_WORDS = { @@ -65,19 +70,32 @@ "wezen", "kunnen", "ons", "zelf", "tegen", "na", "reeds", "wil", "kon", "niets", "uw", "iemand", "geweest", "andere" }; + /** + * Returns an unmodifiable instance of the default stop-words set. + * @return an unmodifiable instance of the default stop-words set. + */ + public static Set getDefaultStopSet(){ + return DefaultSetHolder.DEFAULT_STOP_SET; + } + + private static class DefaultSetHolder { + static final Set DEFAULT_STOP_SET = CharArraySet + .unmodifiableSet(new CharArraySet(Arrays.asList(DUTCH_STOP_WORDS), + false)); + } /** * Contains the stopwords used with the StopFilter. */ - private Set stoptable = new HashSet(); + private final Set stoptable; /** * Contains words that should be indexed but not stemmed. */ - private Set excltable = new HashSet(); + private Set excltable = Collections.emptySet(); - private Map stemdict = new HashMap(); + private Map stemdict = new HashMap(); private final Version matchVersion; /** @@ -86,13 +104,22 @@ * */ public DutchAnalyzer(Version matchVersion) { - setOverridesTokenStreamMethod(DutchAnalyzer.class); - stoptable = StopFilter.makeStopSet(DUTCH_STOP_WORDS); + this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET); stemdict.put("fiets", "fiets"); //otherwise fiet stemdict.put("bromfiets", "bromfiets"); //otherwise bromfiet stemdict.put("ei", "eier"); stemdict.put("kind", "kinder"); + } + + public DutchAnalyzer(Version matchVersion, Set stopwords){ + this(matchVersion, stopwords, CharArraySet.EMPTY_SET); + } + + public DutchAnalyzer(Version matchVersion, Set stopwords, Set stemExclusionTable){ + stoptable = CharArraySet.unmodifiableSet(CharArraySet.copy(stopwords)); + excltable = CharArraySet.unmodifiableSet(CharArraySet.copy(stemExclusionTable)); this.matchVersion = matchVersion; + setOverridesTokenStreamMethod(DutchAnalyzer.class); } /** @@ -100,30 +127,30 @@ * * @param matchVersion * @param stopwords + * @deprecated use {@link #DutchAnalyzer(Version, Set)} instead */ public DutchAnalyzer(Version matchVersion, String... stopwords) { - setOverridesTokenStreamMethod(DutchAnalyzer.class); - stoptable = StopFilter.makeStopSet(stopwords); - this.matchVersion = matchVersion; + this(matchVersion, StopFilter.makeStopSet(stopwords)); } /** * Builds an analyzer with the given stop words. * * @param stopwords + * @deprecated use {@link #DutchAnalyzer(Version, Set)} instead */ - public DutchAnalyzer(Version matchVersion, HashSet stopwords) { - setOverridesTokenStreamMethod(DutchAnalyzer.class); - stoptable = stopwords; - this.matchVersion = matchVersion; + public DutchAnalyzer(Version matchVersion, HashSet stopwords) { + this(matchVersion, (Set)stopwords); } /** * Builds an analyzer with the given stop words. * * @param stopwords + * @deprecated use {@link #DutchAnalyzer(Version, Set)} instead */ public DutchAnalyzer(Version matchVersion, File stopwords) { + // this is completely broken! setOverridesTokenStreamMethod(DutchAnalyzer.class); try { stoptable = org.apache.lucene.analysis.WordlistLoader.getWordSet(stopwords); @@ -138,6 +165,7 @@ * Builds an exclusionlist from an array of Strings. * * @param exclusionlist + * @deprecated use {@link #DutchAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(String... exclusionlist) { excltable = StopFilter.makeStopSet(exclusionlist); @@ -146,14 +174,16 @@ /** * Builds an exclusionlist from a Hashtable. + * @deprecated use {@link #DutchAnalyzer(Version, Set, Set)} instead */ - public void setStemExclusionTable(HashSet exclusionlist) { + public void setStemExclusionTable(HashSet exclusionlist) { excltable = exclusionlist; setPreviousTokenStream(null); // force a new stemmer to be created } /** * Builds an exclusionlist from the words contained in the given file. + * @deprecated use {@link #DutchAnalyzer(Version, Set, Set)} instead */ public void setStemExclusionTable(File exclusionlist) { try { @@ -172,7 +202,7 @@ */ public void setStemDictionary(File stemdictFile) { try { - stemdict = org.apache.lucene.analysis.WordlistLoader.getStemDict(stemdictFile); + stemdict = WordlistLoader.getStemDict(stemdictFile); setPreviousTokenStream(null); // force a new stemmer to be created } catch (IOException e) { // TODO: throw IOException