You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2011/01/24 15:32:04 UTC
svn commit: r1062798 [1/3] - in /lucene/dev/branches/bulkpostings: ./
dev-tools/eclipse/ dev-tools/maven/ dev-tools/maven/lucene/
dev-tools/maven/lucene/contrib/ dev-tools/maven/lucene/contrib/ant/
dev-tools/maven/lucene/contrib/db/ dev-tools/maven/luc...
Author: simonw
Date: Mon Jan 24 14:31:59 2011
New Revision: 1062798
URL: http://svn.apache.org/viewvc?rev=1062798&view=rev
Log:
merged revision 106207 to 1062775
Added:
lucene/dev/branches/bulkpostings/dev-tools/eclipse/lucene-codestyle.xml
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/eclipse/lucene-codestyle.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/ant/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/ant/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/db/bdb-je/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/db/bdb-je/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/db/bdb/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/db/bdb/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/db/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/db/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/demo/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/demo/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/highlighter/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/highlighter/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/instantiated/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/instantiated/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/lucli/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/lucli/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/memory/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/memory/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/misc/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/misc/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/queries/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/queries/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/queryparser/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/queryparser/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/spatial/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/spatial/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/spellchecker/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/spellchecker/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/swing/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/swing/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/wordnet/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/wordnet/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/xml-query-parser/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/contrib/xml-query-parser/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/src/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/lucene/src/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/common/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/analysis/common/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/icu/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/analysis/icu/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/phonetic/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/analysis/phonetic/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/analysis/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/smartcn/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/analysis/smartcn/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/stempel/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/analysis/stempel/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/benchmark/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/benchmark/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/modules/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/contrib/analysis-extras/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/clustering/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/contrib/clustering/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/extraction/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/contrib/extraction/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/contrib/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/src/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/src/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/src/solrj/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/src/solrj/pom.xml.template
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/src/webapp/pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/dev-tools/maven/solr/src/webapp/pom.xml.template
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java
- copied unchanged from r1062778, lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/ (props changed)
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/
lucene/dev/branches/bulkpostings/solr/contrib/uima/CHANGES.txt
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/CHANGES.txt
lucene/dev/branches/bulkpostings/solr/contrib/uima/README.txt
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/README.txt
lucene/dev/branches/bulkpostings/solr/contrib/uima/build.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/build.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/commons-digester-2.0.jar
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/commons-digester-2.0.jar
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/commons-lang-2.4.jar
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/commons-lang-2.4.jar
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/uima-an-alchemy.jar
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/uima-an-alchemy.jar
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/uima-an-calais.jar
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/uima-an-calais.jar
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/uima-an-tagger.jar
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/uima-an-tagger.jar
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/uima-an-wst.jar
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/uima-an-wst.jar
lucene/dev/branches/bulkpostings/solr/contrib/uima/lib/uima-core.jar
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/lib/uima-core.jar
lucene/dev/branches/bulkpostings/solr/contrib/uima/solr-uima-pom.xml.template
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/solr-uima-pom.xml.template
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfiguration.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/SolrUIMAConfigurationReader.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAToSolrMapper.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAToSolrMapper.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessor.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorFactory.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/AEProvider.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/AEProvider.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/AEProviderFactory.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/AEProviderFactory.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/OverridingParamsAEProvider.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/java/org/apache/solr/uima/processor/ae/OverridingParamsAEProvider.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/AggregateSentenceAE.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/AggregateSentenceAE.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/ExtServicesAE.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/ExtServicesAE.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/HmmTagger.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/HmmTagger.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/OpenCalaisAnnotator.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/OpenCalaisAnnotator.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/OverridingParamsExtServicesAE.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/OverridingParamsExtServicesAE.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextCategorizationAEDescriptor.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextCategorizationAEDescriptor.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextConceptTaggingAEDescriptor.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextConceptTaggingAEDescriptor.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextKeywordExtractionAEDescriptor.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextKeywordExtractionAEDescriptor.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextLanguageDetectionAEDescriptor.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextLanguageDetectionAEDescriptor.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextRankedEntityExtractionAEDescriptor.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/TextRankedEntityExtractionAEDescriptor.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/WhitespaceTokenizer.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/WhitespaceTokenizer.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/org/apache/uima/desc/baseAlchemyTypeSystemDescriptor.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/org/apache/uima/desc/baseAlchemyTypeSystemDescriptor.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/solr/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/solr/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/solr/conf/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/solr/conf/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/solr/conf/aggregate-uima-config.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/main/resources/solr/conf/uima-fields.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/main/resources/solr/conf/uima-fields.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/java/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/java/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/java/org/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/java/org/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/java/org/apache/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/java/org/apache/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/java/org/apache/solr/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/java/org/apache/solr/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/java/org/apache/solr/uima/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/java/org/apache/solr/uima/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/java/org/apache/solr/uima/processor/UIMAUpdateRequestProcessorTest.java
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/conf/
- copied from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/conf/
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/conf/protwords.txt
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/conf/protwords.txt
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/conf/schema.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/conf/schema.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/conf/solrconfig.xml
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/conf/spellings.txt
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/conf/spellings.txt
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/conf/stopwords.txt
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/conf/stopwords.txt
lucene/dev/branches/bulkpostings/solr/contrib/uima/src/test/resources/solr-uima/conf/synonyms.txt
- copied unchanged from r1062778, lucene/dev/trunk/solr/contrib/uima/src/test/resources/solr-uima/conf/synonyms.txt
Removed:
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/ant/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/db/bdb-je/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/db/bdb/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/db/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/demo/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/highlighter/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/instantiated/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/lucli/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/memory/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/misc/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/queries/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/queryparser/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/spatial/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/spellchecker/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/swing/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/wordnet/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/contrib/xml-query-parser/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/lucene/src/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/common/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/icu/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/phonetic/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/smartcn/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/analysis/stempel/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/benchmark/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/modules/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/analysis-extras/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/clustering/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/dataimporthandler/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/dataimporthandler/src/extras/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/dataimporthandler/src/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/extraction/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/contrib/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/src/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/src/solrj/pom.xml
lucene/dev/branches/bulkpostings/dev-tools/maven/solr/src/webapp/pom.xml
Modified:
lucene/dev/branches/bulkpostings/ (props changed)
lucene/dev/branches/bulkpostings/build.xml
lucene/dev/branches/bulkpostings/dev-tools/eclipse/dot.classpath
lucene/dev/branches/bulkpostings/lucene/ (props changed)
lucene/dev/branches/bulkpostings/lucene/CHANGES.txt
lucene/dev/branches/bulkpostings/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/FieldsReader.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentInfo.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentReader.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosReader.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/CachingSpanFilter.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/MultiPhraseQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanFilter.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanQueryFilter.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanWeight.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/Spans.java
lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/util/Constants.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/index/TestNRTThreads.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/index/index.31.cfs.zip
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/index/index.31.nocfs.zip
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/JustCompileSearch.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/TestPositionIncrement.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/TestSpanQueryFilter.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/payloads/PayloadHelper.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadNearQuery.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/payloads/TestPayloadTermQuery.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/spans/JustCompileSearchSpans.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/spans/TestBasics.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/spans/TestFieldMaskingSpanQuery.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/spans/TestNearSpansOrdered.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/spans/TestPayloadSpans.java
lucene/dev/branches/bulkpostings/lucene/src/test/org/apache/lucene/search/spans/TestSpans.java
lucene/dev/branches/bulkpostings/modules/ (props changed)
lucene/dev/branches/bulkpostings/modules/analysis/common/build.xml
lucene/dev/branches/bulkpostings/modules/analysis/smartcn/build.xml
lucene/dev/branches/bulkpostings/modules/analysis/stempel/build.xml
lucene/dev/branches/bulkpostings/modules/benchmark/build.xml
lucene/dev/branches/bulkpostings/modules/build.xml
lucene/dev/branches/bulkpostings/solr/ (props changed)
lucene/dev/branches/bulkpostings/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/bulkpostings/solr/KEYS (props changed)
lucene/dev/branches/bulkpostings/solr/LICENSE.txt (props changed)
lucene/dev/branches/bulkpostings/solr/NOTICE.txt (props changed)
lucene/dev/branches/bulkpostings/solr/README.txt (props changed)
lucene/dev/branches/bulkpostings/solr/build.xml (contents, props changed)
lucene/dev/branches/bulkpostings/solr/client/ (props changed)
lucene/dev/branches/bulkpostings/solr/common-build.xml (contents, props changed)
lucene/dev/branches/bulkpostings/solr/contrib/ (props changed)
lucene/dev/branches/bulkpostings/solr/contrib/dataimporthandler/CHANGES.txt
lucene/dev/branches/bulkpostings/solr/example/ (props changed)
lucene/dev/branches/bulkpostings/solr/example/example-DIH/solr/db/conf/ (props changed)
lucene/dev/branches/bulkpostings/solr/example/example-DIH/solr/db/conf/solrconfig.xml
lucene/dev/branches/bulkpostings/solr/example/example-DIH/solr/mail/conf/solrconfig.xml
lucene/dev/branches/bulkpostings/solr/example/example-DIH/solr/rss/conf/rss-data-config.xml
lucene/dev/branches/bulkpostings/solr/example/example-DIH/solr/rss/conf/schema.xml
lucene/dev/branches/bulkpostings/solr/example/example-DIH/solr/rss/conf/solrconfig.xml
lucene/dev/branches/bulkpostings/solr/example/example-DIH/solr/tika/conf/solrconfig.xml
lucene/dev/branches/bulkpostings/solr/lib/ (props changed)
lucene/dev/branches/bulkpostings/solr/site/ (props changed)
lucene/dev/branches/bulkpostings/solr/src/ (props changed)
lucene/dev/branches/bulkpostings/solr/src/java/org/apache/solr/core/CoreContainer.java
lucene/dev/branches/bulkpostings/solr/testlogging.properties (props changed)
Modified: lucene/dev/branches/bulkpostings/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/build.xml?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/build.xml (original)
+++ lucene/dev/branches/bulkpostings/build.xml Mon Jan 24 14:31:59 2011
@@ -38,10 +38,15 @@
</sequential>
</target>
+ <property name="version" value="4.0-SNAPSHOT"/>
<target name="get-maven-poms"
description="Copy Maven POMs from dev-tools/maven/ to their target locations">
<copy todir=".">
<fileset dir="${basedir}/dev-tools/maven"/>
+ <filterset begintoken="@" endtoken="@">
+ <filter token="version" value="${version}"/>
+ </filterset>
+ <globmapper from="*.template" to="*"/>
</copy>
</target>
Modified: lucene/dev/branches/bulkpostings/dev-tools/eclipse/dot.classpath
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/dev-tools/eclipse/dot.classpath?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/dev-tools/eclipse/dot.classpath (original)
+++ lucene/dev/branches/bulkpostings/dev-tools/eclipse/dot.classpath Mon Jan 24 14:31:59 2011
@@ -73,6 +73,10 @@
<classpathentry kind="src" path="solr/contrib/extraction/src/main/java"/>
<classpathentry kind="src" path="solr/contrib/extraction/src/test/java"/>
<classpathentry kind="src" path="solr/contrib/extraction/src/test/resources"/>
+ <classpathentry kind="src" path="solr/contrib/uima/src/main/java"/>
+ <classpathentry kind="src" path="solr/contrib/uima/src/main/resources"/>
+ <classpathentry kind="src" path="solr/contrib/uima/src/test/java"/>
+ <classpathentry kind="src" path="solr/contrib/uima/src/test/resources"/>
<classpathentry kind="lib" path="lucene/lib/ant-1.7.1.jar"/>
<classpathentry kind="lib" path="lucene/lib/ant-junit-1.7.1.jar"/>
<classpathentry kind="lib" path="lucene/lib/junit-4.7.jar"/>
@@ -151,6 +155,12 @@
<classpathentry kind="lib" path="solr/contrib/extraction/lib/tika-core-0.8.jar"/>
<classpathentry kind="lib" path="solr/contrib/extraction/lib/tika-parsers-0.8.jar"/>
<classpathentry kind="lib" path="solr/contrib/extraction/lib/xmlbeans-2.3.0.jar"/>
+ <classpathentry kind="lib" path="solr/contrib/uima/lib/commons-digester-2.0.jar"/>
+ <classpathentry kind="lib" path="solr/contrib/uima/lib/uima-an-alchemy.jar"/>
+ <classpathentry kind="lib" path="solr/contrib/uima/lib/uima-an-calais.jar"/>
+ <classpathentry kind="lib" path="solr/contrib/uima/lib/uima-an-tagger.jar"/>
+ <classpathentry kind="lib" path="solr/contrib/uima/lib/uima-an-wst.jar"/>
+ <classpathentry kind="lib" path="solr/contrib/uima/lib/uima-core.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: lucene/dev/branches/bulkpostings/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/CHANGES.txt?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/bulkpostings/lucene/CHANGES.txt Mon Jan 24 14:31:59 2011
@@ -127,6 +127,9 @@ Changes in backwards compatibility polic
* LUCENE-2865: Weight#scorer(AtomicReaderContext, boolean, boolean) now accepts
a ScorerContext struct instead of booleans.(Simon Willnauer)
+
+* LUCENE-2882: Cut over SpanQuery#getSpans to AtomicReaderContext to enforce
+ per segment semantics on SpanQuery & Spans. (Simon Willnauer)
Changes in Runtime Behavior
@@ -140,6 +143,9 @@ Changes in Runtime Behavior
documents that don't have the field get a norm byte value of 0. Previously, Lucene
would populate "fake norms" with Similarity.getDefault() for these documents.
(Robert Muir, Mike Mccandless)
+
+* LUCENE-2720: IndexWriter throws IndexFormatTooOldException on open, rather
+ than later when e.g. a merge starts. (Shai Erera, Mike McCandless, Uwe Schindler)
API Changes
@@ -673,6 +679,16 @@ Bug fixes
* LUCENE-2860: Fixed SegmentInfo.sizeInBytes to factor includeDocStores when it
decides whether to return the cached computed size or not. (Shai Erera)
+* LUCENE-2584: SegmentInfo.files() could hit ConcurrentModificationException if
+ called by multiple threads. (Alexander Kanarsky via Shai Erera)
+
+* LUCENE-2809: Fixed IndexWriter.numDocs to take into account
+ applied but not yet flushed deletes. (Mike McCandless)
+
+* LUCENE-2879: MultiPhraseQuery previously calculated its phrase IDF by summing
+ internally, it now calls Similarity.idfExplain(Collection, IndexSearcher).
+ (Robert Muir)
+
New features
* LUCENE-2128: Parallelized fetching document frequencies during weight
Modified: lucene/dev/branches/bulkpostings/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/contrib/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java Mon Jan 24 14:31:59 2011
@@ -30,6 +30,7 @@ import org.apache.lucene.analysis.Cachin
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.memory.MemoryIndex;
import org.apache.lucene.search.*;
import org.apache.lucene.search.spans.FieldMaskingSpanQuery;
@@ -50,7 +51,7 @@ public class WeightedSpanTermExtractor {
private String fieldName;
private TokenStream tokenStream;
- private Map<String,IndexReader> readers = new HashMap<String,IndexReader>(10);
+ private Map<String,AtomicReaderContext> readers = new HashMap<String,AtomicReaderContext>(10);
private String defaultField;
private boolean expandMultiTermQuery;
private boolean cachedTokenStream;
@@ -66,11 +67,11 @@ public class WeightedSpanTermExtractor {
}
private void closeReaders() {
- Collection<IndexReader> readerSet = readers.values();
+ Collection<AtomicReaderContext> ctxSet = readers.values();
- for (final IndexReader reader : readerSet) {
+ for (final AtomicReaderContext ctx : ctxSet) {
try {
- reader.close();
+ ctx.reader.close();
} catch (IOException e) {
// alert?
}
@@ -149,7 +150,7 @@ public class WeightedSpanTermExtractor {
query = mtq;
}
if (mtq.getField() != null) {
- IndexReader ir = getReaderForField(mtq.getField());
+ IndexReader ir = getLeafContextForField(mtq.getField()).reader;
extract(query.rewrite(ir), terms);
}
} else if (query instanceof MultiPhraseQuery) {
@@ -234,7 +235,7 @@ public class WeightedSpanTermExtractor {
final boolean mustRewriteQuery = mustRewriteQuery(spanQuery);
if (mustRewriteQuery) {
for (final String field : fieldNames) {
- final SpanQuery rewrittenQuery = (SpanQuery) spanQuery.rewrite(getReaderForField(field));
+ final SpanQuery rewrittenQuery = (SpanQuery) spanQuery.rewrite(getLeafContextForField(field).reader);
queries.put(field, rewrittenQuery);
rewrittenQuery.extractTerms(nonWeightedTerms);
}
@@ -246,12 +247,12 @@ public class WeightedSpanTermExtractor {
for (final String field : fieldNames) {
- IndexReader reader = getReaderForField(field);
+ AtomicReaderContext context = getLeafContextForField(field);
final Spans spans;
if (mustRewriteQuery) {
- spans = queries.get(field).getSpans(reader);
+ spans = queries.get(field).getSpans(context);
} else {
- spans = spanQuery.getSpans(reader);
+ spans = spanQuery.getSpans(context);
}
@@ -317,22 +318,23 @@ public class WeightedSpanTermExtractor {
return rv;
}
- private IndexReader getReaderForField(String field) throws IOException {
+ private AtomicReaderContext getLeafContextForField(String field) throws IOException {
if(wrapToCaching && !cachedTokenStream && !(tokenStream instanceof CachingTokenFilter)) {
tokenStream = new CachingTokenFilter(tokenStream);
cachedTokenStream = true;
}
- IndexReader reader = readers.get(field);
- if (reader == null) {
+ AtomicReaderContext context = readers.get(field);
+ if (context == null) {
MemoryIndex indexer = new MemoryIndex();
indexer.addField(field, tokenStream);
tokenStream.reset();
IndexSearcher searcher = indexer.createSearcher();
- reader = searcher.getIndexReader();
- readers.put(field, reader);
+ // MEM index has only atomic ctx
+ context = (AtomicReaderContext) searcher.getTopReaderContext();
+ readers.put(field, context);
}
- return reader;
+ return context;
}
/**
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/FieldsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/FieldsReader.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/FieldsReader.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/FieldsReader.java Mon Jan 24 14:31:59 2011
@@ -37,8 +37,10 @@ import java.io.Reader;
* Class responsible for access to stored document fields.
* <p/>
* It uses <segment>.fdt and <segment>.fdx; files.
+ *
+ * @lucene.internal
*/
-final class FieldsReader implements Cloneable {
+public final class FieldsReader implements Cloneable {
private final static int FORMAT_SIZE = 4;
private final FieldInfos fieldInfos;
@@ -74,6 +76,23 @@ final class FieldsReader implements Clon
ensureOpen();
return new FieldsReader(fieldInfos, numTotalDocs, size, format, docStoreOffset, cloneableFieldsStream, cloneableIndexStream);
}
+
+ /** Verifies that the code version which wrote the segment is supported. */
+ public static void checkCodeVersion(Directory dir, String segment) throws IOException {
+ final String indexStreamFN = IndexFileNames.segmentFileName(segment, "", IndexFileNames.FIELDS_INDEX_EXTENSION);
+ IndexInput idxStream = dir.openInput(indexStreamFN, 1024);
+
+ try {
+ int format = idxStream.readInt();
+ if (format < FieldsWriter.FORMAT_MINIMUM)
+ throw new IndexFormatTooOldException(indexStreamFN, format, FieldsWriter.FORMAT_MINIMUM, FieldsWriter.FORMAT_CURRENT);
+ if (format > FieldsWriter.FORMAT_CURRENT)
+ throw new IndexFormatTooNewException(indexStreamFN, format, FieldsWriter.FORMAT_MINIMUM, FieldsWriter.FORMAT_CURRENT);
+ } finally {
+ idxStream.close();
+ }
+
+ }
// Used only by clone
private FieldsReader(FieldInfos fieldInfos, int numTotalDocs, int size, int format, int docStoreOffset,
@@ -89,11 +108,11 @@ final class FieldsReader implements Clon
indexStream = (IndexInput) cloneableIndexStream.clone();
}
- FieldsReader(Directory d, String segment, FieldInfos fn) throws IOException {
+ public FieldsReader(Directory d, String segment, FieldInfos fn) throws IOException {
this(d, segment, fn, BufferedIndexInput.BUFFER_SIZE, -1, 0);
}
- FieldsReader(Directory d, String segment, FieldInfos fn, int readBufferSize, int docStoreOffset, int size) throws IOException {
+ public FieldsReader(Directory d, String segment, FieldInfos fn, int readBufferSize, int docStoreOffset, int size) throws IOException {
boolean success = false;
isOriginal = true;
try {
@@ -157,7 +176,7 @@ final class FieldsReader implements Clon
*
* @throws IOException
*/
- final void close() throws IOException {
+ public final void close() throws IOException {
if (!closed) {
if (fieldsStream != null) {
fieldsStream.close();
@@ -178,7 +197,7 @@ final class FieldsReader implements Clon
}
}
- final int size() {
+ public final int size() {
return size;
}
@@ -186,7 +205,7 @@ final class FieldsReader implements Clon
indexStream.seek(FORMAT_SIZE + (docID + docStoreOffset) * 8L);
}
- final Document doc(int n, FieldSelector fieldSelector) throws CorruptIndexException, IOException {
+ public final Document doc(int n, FieldSelector fieldSelector) throws CorruptIndexException, IOException {
seekIndex(n);
long position = indexStream.readLong();
fieldsStream.seek(position);
@@ -237,7 +256,7 @@ final class FieldsReader implements Clon
* contiguous range of length numDocs starting with
* startDocID. Returns the IndexInput (the fieldStream),
* already seeked to the starting point for startDocID.*/
- final IndexInput rawDocs(int[] lengths, int startDocID, int numDocs) throws IOException {
+ public final IndexInput rawDocs(int[] lengths, int startDocID, int numDocs) throws IOException {
seekIndex(startDocID);
long startOffset = indexStream.readLong();
long lastOffset = startOffset;
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexFormatTooOldException.java Mon Jan 24 14:31:59 2011
@@ -23,10 +23,15 @@ package org.apache.lucene.index;
*/
public class IndexFormatTooOldException extends CorruptIndexException {
+ public IndexFormatTooOldException(String filename, String version) {
+ super("Format version is not supported" + (filename!=null ? (" in file '" + filename + "'") : "") +
+ ": " + version + ". This version of Lucene only supports indexes created with release 3.0 and later.");
+ }
+
public IndexFormatTooOldException(String filename, int version, int minVersion, int maxVersion) {
super("Format version is not supported" + (filename!=null ? (" in file '" + filename + "'") : "") +
- ": " + version + " (needs to be between " + minVersion + " and " + maxVersion +
- "). This version of Lucene only supports indexes created with release 3.0 and later.");
+ ": " + version + " (needs to be between " + minVersion + " and " + maxVersion +
+ "). This version of Lucene only supports indexes created with release 3.0 and later.");
}
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexWriter.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/IndexWriter.java Mon Jan 24 14:31:59 2011
@@ -270,6 +270,9 @@ public class IndexWriter implements Clos
// The PayloadProcessorProvider to use when segments are merged
private PayloadProcessorProvider payloadProcessorProvider;
+ // for testing
+ boolean anyNonBulkMerges;
+
/**
* Expert: returns a readonly reader, covering all
* committed as well as un-committed changes to the index.
@@ -333,6 +336,8 @@ public class IndexWriter implements Clos
ensureOpen();
+ final long tStart = System.currentTimeMillis();
+
if (infoStream != null) {
message("flush at getReader");
}
@@ -355,6 +360,9 @@ public class IndexWriter implements Clos
}
maybeMerge();
+ if (infoStream != null) {
+ message("getReader took " + (System.currentTimeMillis() - tStart) + " msec");
+ }
return r;
}
@@ -605,8 +613,6 @@ public class IndexWriter implements Clos
}
}
-
-
/**
* Obtain the number of deleted docs for a pooled reader.
* If the reader isn't being pooled, the segmentInfo's
@@ -715,11 +721,8 @@ public class IndexWriter implements Clos
boolean success = false;
- // TODO: we should check whether this index is too old,
- // and throw an IndexFormatTooOldExc up front, here,
- // instead of later when merge, applyDeletes, getReader
- // is attempted. I think to do this we should store the
- // oldest segment's version in segments_N.
+ // If index is too old, reading the segments will throw
+ // IndexFormatTooOldException.
segmentInfos = new SegmentInfos(codecs);
try {
if (create) {
@@ -3090,6 +3093,7 @@ public class IndexWriter implements Clos
message("merge segmentCodecs=" + merger.getSegmentCodecs());
message("merge store matchedCount=" + merger.getMatchedSubReaderCount() + " vs " + numSegments);
}
+ anyNonBulkMerges |= merger.getMatchedSubReaderCount() != numSegments;
assert mergedDocCount == totDocCount;
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentInfo.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentInfo.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentInfo.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentInfo.java Mon Jan 24 14:31:59 2011
@@ -20,6 +20,7 @@ package org.apache.lucene.index;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IndexOutput;
import org.apache.lucene.store.IndexInput;
+import org.apache.lucene.util.Constants;
import org.apache.lucene.index.codecs.Codec;
import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.index.codecs.DefaultSegmentInfosWriter;
@@ -87,6 +88,13 @@ public final class SegmentInfo {
private Map<String,String> diagnostics;
+ // Tracks the Lucene version this segment was created with, since 3.1. Null
+ // indicates an older than 3.0 index, and it's used to detect a too old index.
+ // The format expected is "x.y" - "2.x" for pre-3.0 indexes (or null), and
+ // specific versions afterwards ("3.0", "3.1" etc.).
+ // see Constants.LUCENE_MAIN_VERSION.
+ private String version;
+
public SegmentInfo(String name, int docCount, Directory dir, boolean isCompoundFile,
boolean hasProx, SegmentCodecs segmentCodecs, boolean hasVectors) {
this.name = name;
@@ -95,10 +103,12 @@ public final class SegmentInfo {
delGen = NO;
this.isCompoundFile = isCompoundFile;
this.docStoreOffset = -1;
+ this.docStoreSegment = name;
this.hasProx = hasProx;
this.segmentCodecs = segmentCodecs;
this.hasVectors = hasVectors;
delCount = 0;
+ version = Constants.LUCENE_MAIN_VERSION;
}
/**
@@ -106,11 +116,13 @@ public final class SegmentInfo {
*/
void reset(SegmentInfo src) {
clearFiles();
+ version = src.version;
name = src.name;
docCount = src.docCount;
dir = src.dir;
delGen = src.delGen;
docStoreOffset = src.docStoreOffset;
+ docStoreSegment = src.docStoreSegment;
docStoreIsCompoundFile = src.docStoreIsCompoundFile;
hasVectors = src.hasVectors;
hasProx = src.hasProx;
@@ -145,6 +157,9 @@ public final class SegmentInfo {
*/
public SegmentInfo(Directory dir, int format, IndexInput input, CodecProvider codecs) throws IOException {
this.dir = dir;
+ if (format <= DefaultSegmentInfosWriter.FORMAT_3_1) {
+ version = input.readString();
+ }
name = input.readString();
docCount = input.readInt();
delGen = input.readLong();
@@ -293,6 +308,7 @@ public final class SegmentInfo {
si.normGen = normGen.clone();
}
si.hasVectors = hasVectors;
+ si.version = version;
return si;
}
@@ -433,6 +449,8 @@ public final class SegmentInfo {
public void write(IndexOutput output)
throws IOException {
assert delCount <= docCount: "delCount=" + delCount + " docCount=" + docCount + " segment=" + name;
+ // Write the Lucene version that created this segment, since 3.1
+ output.writeString(version);
output.writeString(name);
output.writeInt(docCount);
output.writeLong(delGen);
@@ -574,8 +592,9 @@ public final class SegmentInfo {
/** Used for debugging. Format may suddenly change.
*
* <p>Current format looks like
- * <code>_a:c45/4->_1</code>, which means the segment's
- * name is <code>_a</code>; it's using compound file
+ * <code>_a(3.1):c45/4->_1</code>, which means the segment's
+ * name is <code>_a</code>; it was created with Lucene 3.1 (or
+ * '?' if it's unkown); it's using compound file
* format (would be <code>C</code> if not compound); it
* has 45 documents; it has 4 deletions (this part is
* left off when there are no deletions); it's using the
@@ -585,7 +604,7 @@ public final class SegmentInfo {
public String toString(Directory dir, int pendingDelCount) {
StringBuilder s = new StringBuilder();
- s.append(name).append(':');
+ s.append(name).append('(').append(version == null ? "?" : version).append(')').append(':');
char cfs = getUseCompoundFile() ? 'c' : 'C';
s.append(cfs);
@@ -633,4 +652,25 @@ public final class SegmentInfo {
public int hashCode() {
return dir.hashCode() + name.hashCode();
}
+
+ /**
+ * Used by DefaultSegmentInfosReader to upgrade a 3.0 segment to record its
+ * version is "3.0". This method can be removed when we're not required to
+ * support 3x indexes anymore, e.g. in 5.0.
+ * <p>
+ * <b>NOTE:</b> this method is used for internal purposes only - you should
+ * not modify the version of a SegmentInfo, or it may result in unexpected
+ * exceptions thrown when you attempt to open the index.
+ *
+ * @lucene.internal
+ */
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ /** Returns the version of the code which wrote the segment. */
+ public String getVersion() {
+ return version;
+ }
+
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentReader.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentReader.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/SegmentReader.java Mon Jan 24 14:31:59 2011
@@ -226,13 +226,7 @@ public class SegmentReader extends Index
assert storeDir != null;
}
- final String storesSegment;
- if (si.getDocStoreOffset() != -1) {
- storesSegment = si.getDocStoreSegment();
- } else {
- storesSegment = segment;
- }
-
+ final String storesSegment = si.getDocStoreSegment();
fieldsReaderOrig = new FieldsReader(storeDir, storesSegment, fieldInfos, readBufferSize,
si.getDocStoreOffset(), si.docCount);
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosReader.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosReader.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosReader.java Mon Jan 24 14:31:59 2011
@@ -19,7 +19,10 @@ package org.apache.lucene.index.codecs;
import java.io.IOException;
+import org.apache.lucene.index.CompoundFileReader;
import org.apache.lucene.index.CorruptIndexException;
+import org.apache.lucene.index.FieldsReader;
+import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.IndexFormatTooOldException;
import org.apache.lucene.index.IndexFormatTooNewException;
import org.apache.lucene.index.SegmentInfo;
@@ -55,7 +58,41 @@ public class DefaultSegmentInfosReader e
infos.counter = input.readInt(); // read counter
for (int i = input.readInt(); i > 0; i--) { // read segmentInfos
- infos.add(new SegmentInfo(directory, format, input, codecs));
+ SegmentInfo si = new SegmentInfo(directory, format, input, codecs);
+ if (si.getVersion() == null) {
+ // Could be a 3.0 - try to open the doc stores - if it fails, it's a
+ // 2.x segment, and an IndexFormatTooOldException will be thrown,
+ // which is what we want.
+ Directory dir = directory;
+ if (si.getDocStoreOffset() != -1) {
+ if (si.getDocStoreIsCompoundFile()) {
+ dir = new CompoundFileReader(dir, IndexFileNames.segmentFileName(
+ si.getDocStoreSegment(), "",
+ IndexFileNames.COMPOUND_FILE_STORE_EXTENSION), 1024);
+ }
+ } else if (si.getUseCompoundFile()) {
+ dir = new CompoundFileReader(dir, IndexFileNames.segmentFileName(
+ si.name, "", IndexFileNames.COMPOUND_FILE_EXTENSION), 1024);
+ }
+
+ try {
+ FieldsReader.checkCodeVersion(dir, si.getDocStoreSegment());
+ } finally {
+ // If we opened the directory, close it
+ if (dir != directory) dir.close();
+ }
+
+ // Above call succeeded, so it's a 3.0 segment. Upgrade it so the next
+ // time the segment is read, its version won't be null and we won't
+ // need to open FieldsReader every time for each such segment.
+ si.setVersion("3.0");
+ } else if (si.getVersion().equals("2.x")) {
+ // If it's a 3x index touched by 3.1+ code, then segments record their
+ // version, whether they are 2.x ones or not. We detect that and throw
+ // appropriate exception.
+ throw new IndexFormatTooOldException(si.name, si.getVersion());
+ }
+ infos.add(si);
}
infos.userData = input.readStringStringMap();
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/index/codecs/DefaultSegmentInfosWriter.java Mon Jan 24 14:31:59 2011
@@ -38,9 +38,12 @@ public class DefaultSegmentInfosWriter e
/** Each segment records whether it has term vectors */
public static final int FORMAT_HAS_VECTORS = -10;
+ /** Each segment records the Lucene version that created it. */
+ public static final int FORMAT_3_1 = -11;
+
/** Each segment records whether its postings are written
* in the new flex format */
- public static final int FORMAT_4_0 = -11;
+ public static final int FORMAT_4_0 = -12;
/** This must always point to the most recent file format.
* whenever you add a new format, make it 1 smaller (negative version logic)! */
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/CachingSpanFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/CachingSpanFilter.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/CachingSpanFilter.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/CachingSpanFilter.java Mon Jan 24 14:31:59 2011
@@ -62,14 +62,15 @@ public class CachingSpanFilter extends S
@Override
public DocIdSet getDocIdSet(AtomicReaderContext context) throws IOException {
- SpanFilterResult result = getCachedResult(context.reader);
+ SpanFilterResult result = getCachedResult(context);
return result != null ? result.getDocIdSet() : null;
}
// for testing
int hitCount, missCount;
- private SpanFilterResult getCachedResult(IndexReader reader) throws IOException {
+ private SpanFilterResult getCachedResult(AtomicReaderContext context) throws IOException {
+ final IndexReader reader = context.reader;
final Object coreKey = reader.getCoreCacheKey();
final Object delCoreKey = reader.hasDeletions() ? reader.getDeletedDocs() : coreKey;
@@ -81,7 +82,7 @@ public class CachingSpanFilter extends S
}
missCount++;
- result = filter.bitSpans(reader);
+ result = filter.bitSpans(context);
cache.put(coreKey, delCoreKey, result);
return result;
@@ -89,8 +90,8 @@ public class CachingSpanFilter extends S
@Override
- public SpanFilterResult bitSpans(IndexReader reader) throws IOException {
- return getCachedResult(reader);
+ public SpanFilterResult bitSpans(AtomicReaderContext context) throws IOException {
+ return getCachedResult(context);
}
@Override
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/MultiPhraseQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/MultiPhraseQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/MultiPhraseQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/MultiPhraseQuery.java Mon Jan 24 14:31:59 2011
@@ -25,6 +25,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.Term;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.DocsAndPositionsEnum;
+import org.apache.lucene.search.Explanation.IDFExplanation;
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.ToStringUtils;
@@ -131,6 +132,7 @@ public class MultiPhraseQuery extends Qu
private class MultiPhraseWeight extends Weight {
private Similarity similarity;
private float value;
+ private final IDFExplanation idfExp;
private float idf;
private float queryNorm;
private float queryWeight;
@@ -140,12 +142,14 @@ public class MultiPhraseQuery extends Qu
this.similarity = searcher.getSimilarity();
// compute idf
- final int maxDoc = searcher.maxDoc();
+ ArrayList<Term> allTerms = new ArrayList<Term>();
for(final Term[] terms: termArrays) {
for (Term term: terms) {
- idf += this.similarity.idf(searcher.docFreq(term), maxDoc);
+ allTerms.add(term);
}
}
+ idfExp = similarity.idfExplain(allTerms, searcher);
+ idf = idfExp.getIdf();
}
@Override
@@ -238,7 +242,7 @@ public class MultiPhraseQuery extends Qu
ComplexExplanation result = new ComplexExplanation();
result.setDescription("weight("+getQuery()+" in "+doc+"), product of:");
- Explanation idfExpl = new Explanation(idf, "idf("+getQuery()+")");
+ Explanation idfExpl = new Explanation(idf, "idf(" + field + ":" + idfExp.explain() +")");
// explain query weight
Explanation queryExpl = new Explanation();
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanFilter.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanFilter.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanFilter.java Mon Jan 24 14:31:59 2011
@@ -15,7 +15,7 @@ package org.apache.lucene.search;
* limitations under the License.
*/
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import java.io.IOException;
@@ -30,9 +30,9 @@ import java.io.IOException;
public abstract class SpanFilter extends Filter{
/** Returns a SpanFilterResult with true for documents which should be permitted in
search results, and false for those that should not and Spans for where the true docs match.
- * @param reader The {@link org.apache.lucene.index.IndexReader} to load position and DocIdSet information from
+ * @param context The {@link AtomicReaderContext} to load position and DocIdSet information from
* @return A {@link SpanFilterResult}
* @throws java.io.IOException if there was an issue accessing the necessary information
* */
- public abstract SpanFilterResult bitSpans(IndexReader reader) throws IOException;
+ public abstract SpanFilterResult bitSpans(AtomicReaderContext context) throws IOException;
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanQueryFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanQueryFilter.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanQueryFilter.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/SpanQueryFilter.java Mon Jan 24 14:31:59 2011
@@ -16,7 +16,6 @@ package org.apache.lucene.search;
*/
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.search.spans.Spans;
@@ -54,15 +53,15 @@ public class SpanQueryFilter extends Spa
@Override
public DocIdSet getDocIdSet(AtomicReaderContext context) throws IOException {
- SpanFilterResult result = bitSpans(context.reader);
+ SpanFilterResult result = bitSpans(context);
return result.getDocIdSet();
}
@Override
- public SpanFilterResult bitSpans(IndexReader reader) throws IOException {
+ public SpanFilterResult bitSpans(AtomicReaderContext context) throws IOException {
- final OpenBitSet bits = new OpenBitSet(reader.maxDoc());
- Spans spans = query.getSpans(reader);
+ final OpenBitSet bits = new OpenBitSet(context.reader.maxDoc());
+ Spans spans = query.getSpans(context);
List<SpanFilterResult.PositionInfo> tmp = new ArrayList<SpanFilterResult.PositionInfo>(20);
int currentDoc = -1;
SpanFilterResult.PositionInfo currentInfo = null;
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadNearQuery.java Mon Jan 24 14:31:59 2011
@@ -144,7 +144,7 @@ public class PayloadNearQuery extends Sp
@Override
public Scorer scorer(AtomicReaderContext context, ScorerContext scorerContext) throws IOException {
- return new PayloadNearSpanScorer(query.getSpans(context.reader), this,
+ return new PayloadNearSpanScorer(query.getSpans(context), this,
similarity, context.reader.norms(query.getField()));
}
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadSpanUtil.java Mon Jan 24 14:31:59 2011
@@ -24,6 +24,8 @@ import java.util.Iterator;
import java.util.List;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
+import org.apache.lucene.index.IndexReader.ReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
@@ -38,6 +40,7 @@ import org.apache.lucene.search.spans.Sp
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.search.spans.Spans;
+import org.apache.lucene.util.ReaderUtil;
/**
* Experimental class to get set of payloads for most standard Lucene queries.
@@ -48,14 +51,16 @@ import org.apache.lucene.search.spans.Sp
*
*/
public class PayloadSpanUtil {
- private IndexReader reader;
+ private ReaderContext context;
/**
- * @param reader
+ * @param context
* that contains doc with payloads to extract
+ *
+ * @see IndexReader#getTopReaderContext()
*/
- public PayloadSpanUtil(IndexReader reader) {
- this.reader = reader;
+ public PayloadSpanUtil(ReaderContext context) {
+ this.context = context;
}
/**
@@ -169,15 +174,16 @@ public class PayloadSpanUtil {
private void getPayloads(Collection<byte []> payloads, SpanQuery query)
throws IOException {
- Spans spans = query.getSpans(reader);
-
- while (spans.next() == true) {
- if (spans.isPayloadAvailable()) {
- Collection<byte[]> payload = spans.getPayload();
- for (byte [] bytes : payload) {
- payloads.add(bytes);
+ final AtomicReaderContext[] leaves = ReaderUtil.leaves(context);
+ for (AtomicReaderContext atomicReaderContext : leaves) {
+ final Spans spans = query.getSpans(atomicReaderContext);
+ while (spans.next() == true) {
+ if (spans.isPayloadAvailable()) {
+ Collection<byte[]> payload = spans.getPayload();
+ for (byte [] bytes : payload) {
+ payloads.add(bytes);
+ }
}
-
}
}
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java Mon Jan 24 14:31:59 2011
@@ -75,7 +75,7 @@ public class PayloadTermQuery extends Sp
@Override
public Scorer scorer(AtomicReaderContext context, ScorerContext scorerContext) throws IOException {
- return new PayloadTermSpanScorer((TermSpans) query.getSpans(context.reader),
+ return new PayloadTermSpanScorer((TermSpans) query.getSpans(context),
this, similarity, context.reader.norms(query.getField()));
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/FieldMaskingSpanQuery.java Mon Jan 24 14:31:59 2011
@@ -21,6 +21,7 @@ import java.io.IOException;
import java.util.Set;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Weight;
@@ -91,8 +92,8 @@ public class FieldMaskingSpanQuery exten
// ...this is done to be more consistent with things like SpanFirstQuery
@Override
- public Spans getSpans(IndexReader reader) throws IOException {
- return maskedQuery.getSpans(reader);
+ public Spans getSpans(AtomicReaderContext context) throws IOException {
+ return maskedQuery.getSpans(context);
}
@Override
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansOrdered.java Mon Jan 24 14:31:59 2011
@@ -17,7 +17,7 @@ package org.apache.lucene.search.spans;
* limitations under the License.
*/
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.util.ArrayUtil;
import java.io.IOException;
@@ -77,11 +77,11 @@ public class NearSpansOrdered extends Sp
private SpanNearQuery query;
private boolean collectPayloads = true;
- public NearSpansOrdered(SpanNearQuery spanNearQuery, IndexReader reader) throws IOException {
- this(spanNearQuery, reader, true);
+ public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context) throws IOException {
+ this(spanNearQuery, context, true);
}
- public NearSpansOrdered(SpanNearQuery spanNearQuery, IndexReader reader, boolean collectPayloads)
+ public NearSpansOrdered(SpanNearQuery spanNearQuery, AtomicReaderContext context, boolean collectPayloads)
throws IOException {
if (spanNearQuery.getClauses().length < 2) {
throw new IllegalArgumentException("Less than 2 clauses: "
@@ -94,7 +94,7 @@ public class NearSpansOrdered extends Sp
matchPayload = new LinkedList<byte[]>();
subSpansByDoc = new Spans[clauses.length];
for (int i = 0; i < clauses.length; i++) {
- subSpans[i] = clauses[i].getSpans(reader);
+ subSpans[i] = clauses[i].getSpans(context);
subSpansByDoc[i] = subSpans[i]; // used in toSameDoc()
}
query = spanNearQuery; // kept for toString() only.
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/NearSpansUnordered.java Mon Jan 24 14:31:59 2011
@@ -17,7 +17,7 @@ package org.apache.lucene.search.spans;
* limitations under the License.
*/
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.util.PriorityQueue;
import java.io.IOException;
@@ -131,7 +131,7 @@ public class NearSpansUnordered extends
}
- public NearSpansUnordered(SpanNearQuery query, IndexReader reader)
+ public NearSpansUnordered(SpanNearQuery query, AtomicReaderContext context)
throws IOException {
this.query = query;
this.slop = query.getSlop();
@@ -141,7 +141,7 @@ public class NearSpansUnordered extends
subSpans = new Spans[clauses.length];
for (int i = 0; i < clauses.length; i++) {
SpansCell cell =
- new SpansCell(clauses[i].getSpans(reader), i);
+ new SpansCell(clauses[i].getSpans(context), i);
ordered.add(cell);
subSpans[i] = cell.spans;
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanFirstQuery.java Mon Jan 24 14:31:59 2011
@@ -38,7 +38,7 @@ public class SpanFirstQuery extends Span
@Override
protected AcceptStatus acceptPosition(Spans spans) throws IOException {
- assert spans.start() != spans.end();
+ assert spans.start() != spans.end() : "start equals end: " + spans.start();
if (spans.start() >= end)
return AcceptStatus.NO_AND_ADVANCE;
else if (spans.end() <= end)
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanMultiTermQueryWrapper.java Mon Jan 24 14:31:59 2011
@@ -20,6 +20,7 @@ package org.apache.lucene.search.spans;
import java.io.IOException;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.MultiTermQuery;
import org.apache.lucene.search.Query;
@@ -88,7 +89,7 @@ public class SpanMultiTermQueryWrapper<Q
}
@Override
- public Spans getSpans(IndexReader reader) throws IOException {
+ public Spans getSpans(AtomicReaderContext context) throws IOException {
throw new UnsupportedOperationException("Query should have been rewritten");
}
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNearQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNearQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNearQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNearQuery.java Mon Jan 24 14:31:59 2011
@@ -27,6 +27,7 @@ import java.util.Set;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Query;
import org.apache.lucene.util.ToStringUtils;
@@ -116,16 +117,16 @@ public class SpanNearQuery extends SpanQ
}
@Override
- public Spans getSpans(final IndexReader reader) throws IOException {
+ public Spans getSpans(final AtomicReaderContext context) throws IOException {
if (clauses.size() == 0) // optimize 0-clause case
- return new SpanOrQuery(getClauses()).getSpans(reader);
+ return new SpanOrQuery(getClauses()).getSpans(context);
if (clauses.size() == 1) // optimize 1-clause case
- return clauses.get(0).getSpans(reader);
+ return clauses.get(0).getSpans(context);
return inOrder
- ? (Spans) new NearSpansOrdered(this, reader, collectPayloads)
- : (Spans) new NearSpansUnordered(this, reader);
+ ? (Spans) new NearSpansOrdered(this, context, collectPayloads)
+ : (Spans) new NearSpansUnordered(this, context);
}
@Override
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNotQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNotQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNotQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanNotQuery.java Mon Jan 24 14:31:59 2011
@@ -18,6 +18,7 @@ package org.apache.lucene.search.spans;
*/
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Query;
import org.apache.lucene.util.ToStringUtils;
@@ -74,12 +75,12 @@ public class SpanNotQuery extends SpanQu
}
@Override
- public Spans getSpans(final IndexReader reader) throws IOException {
+ public Spans getSpans(final AtomicReaderContext context) throws IOException {
return new Spans() {
- private Spans includeSpans = include.getSpans(reader);
+ private Spans includeSpans = include.getSpans(context);
private boolean moreInclude = true;
- private Spans excludeSpans = exclude.getSpans(reader);
+ private Spans excludeSpans = exclude.getSpans(context);
private boolean moreExclude = excludeSpans.next();
@Override
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanOrQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanOrQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanOrQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanOrQuery.java Mon Jan 24 14:31:59 2011
@@ -26,6 +26,7 @@ import java.util.Iterator;
import java.util.Set;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.util.PriorityQueue;
import org.apache.lucene.util.ToStringUtils;
@@ -162,9 +163,9 @@ public class SpanOrQuery extends SpanQue
}
@Override
- public Spans getSpans(final IndexReader reader) throws IOException {
+ public Spans getSpans(final AtomicReaderContext context) throws IOException {
if (clauses.size() == 1) // optimize 1-clause case
- return (clauses.get(0)).getSpans(reader);
+ return (clauses.get(0)).getSpans(context);
return new Spans() {
private SpanQueue queue = null;
@@ -173,7 +174,7 @@ public class SpanOrQuery extends SpanQue
queue = new SpanQueue(clauses.size());
Iterator<SpanQuery> i = clauses.iterator();
while (i.hasNext()) {
- Spans spans = i.next().getSpans(reader);
+ Spans spans = i.next().getSpans(context);
if ( ((target == -1) && spans.next())
|| ((target != -1) && spans.skipTo(target))) {
queue.add(spans);
Modified: lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java?rev=1062798&r1=1062797&r2=1062798&view=diff
==============================================================================
--- lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java (original)
+++ lucene/dev/branches/bulkpostings/lucene/src/java/org/apache/lucene/search/spans/SpanPositionCheckQuery.java Mon Jan 24 14:31:59 2011
@@ -18,6 +18,7 @@ package org.apache.lucene.search.spans;
import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.IndexReader.AtomicReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Query;
@@ -80,8 +81,8 @@ public abstract class SpanPositionCheckQ
protected abstract AcceptStatus acceptPosition(Spans spans) throws IOException;
@Override
- public Spans getSpans(final IndexReader reader) throws IOException {
- return new PositionCheckSpan(reader);
+ public Spans getSpans(final AtomicReaderContext context) throws IOException {
+ return new PositionCheckSpan(context);
}
@@ -105,8 +106,8 @@ public abstract class SpanPositionCheckQ
protected class PositionCheckSpan extends Spans {
private Spans spans;
- public PositionCheckSpan(IndexReader reader) throws IOException {
- spans = match.getSpans(reader);
+ public PositionCheckSpan(AtomicReaderContext context) throws IOException {
+ spans = match.getSpans(context);
}
@Override