You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/09/18 17:13:52 UTC
svn commit: r1703881 [1/5] - in /lucene/dev/branches/lucene6780: ./ lucene/
lucene/analysis/ lucene/analysis/common/
lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/
lucene/benchmark/ lucene/benchmark/src/test/org/apache/lucene/benc...
Author: mikemccand
Date: Fri Sep 18 15:13:49 2015
New Revision: 1703881
URL: http://svn.apache.org/viewvc?rev=1703881&view=rev
Log:
LUCENE-6780: merge trunk
Added:
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/GrowableByteArrayDataOutput.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/codecs/compressing/GrowableByteArrayDataOutput.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/SynonymQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/ClassicSimilarity.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/search/similarities/ClassicSimilarity.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestGrowableByteArrayDataOutput.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/codecs/compressing/TestGrowableByteArrayDataOutput.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestSynonymQuery.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/TestSynonymQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/similarities/TestClassicSimilarity.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/search/similarities/TestClassicSimilarity.java
lucene/dev/branches/lucene6780/lucene/queries/src/java/org/apache/lucene/queries/payloads/
- copied from r1703879, lucene/dev/trunk/lucene/queries/src/java/org/apache/lucene/queries/payloads/
lucene/dev/branches/lucene6780/lucene/queries/src/test/org/apache/lucene/queries/payloads/
- copied from r1703879, lucene/dev/trunk/lucene/queries/src/test/org/apache/lucene/queries/payloads/
lucene/dev/branches/lucene6780/lucene/sandbox/src/java/org/apache/lucene/payloads/
- copied from r1703879, lucene/dev/trunk/lucene/sandbox/src/java/org/apache/lucene/payloads/
lucene/dev/branches/lucene6780/lucene/sandbox/src/test/org/apache/lucene/payloads/
- copied from r1703879, lucene/dev/trunk/lucene/sandbox/src/test/org/apache/lucene/payloads/
lucene/dev/branches/lucene6780/lucene/test-framework/src/java/org/apache/lucene/index/IndexWriterMaxDocsChanger.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/IndexWriterMaxDocsChanger.java
lucene/dev/branches/lucene6780/lucene/test-framework/src/java/org/apache/lucene/search/spans/MultiSpansWrapper.java
- copied unchanged from r1703879, lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/search/spans/MultiSpansWrapper.java
lucene/dev/branches/lucene6780/solr/contrib/velocity/src/test-files/velocity/solr/collection1/conf/velocity/resource_get.vm
- copied unchanged from r1703879, lucene/dev/trunk/solr/contrib/velocity/src/test-files/velocity/solr/collection1/conf/velocity/resource_get.vm
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/query/SolrRangeQuery.java
- copied unchanged from r1703879, lucene/dev/trunk/solr/core/src/java/org/apache/solr/query/SolrRangeQuery.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/DocSetBuilder.java
- copied unchanged from r1703879, lucene/dev/trunk/solr/core/src/java/org/apache/solr/search/DocSetBuilder.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java
- copied unchanged from r1703879, lucene/dev/trunk/solr/core/src/test/org/apache/solr/cloud/TestExclusionRuleCollectionAccess.java
lucene/dev/branches/lucene6780/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/
- copied from r1703879, lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/
lucene/dev/branches/lucene6780/solr/solrj/src/resources/
- copied from r1703879, lucene/dev/trunk/solr/solrj/src/resources/
lucene/dev/branches/lucene6780/solr/solrj/src/test-files/solrj/solr/collection1/conf/schema-sql.xml
- copied unchanged from r1703879, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/collection1/conf/schema-sql.xml
lucene/dev/branches/lucene6780/solr/solrj/src/test-files/solrj/solr/collection1/conf/solrconfig-sql.xml
- copied unchanged from r1703879, lucene/dev/trunk/solr/solrj/src/test-files/solrj/solr/collection1/conf/solrconfig-sql.xml
lucene/dev/branches/lucene6780/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/
- copied from r1703879, lucene/dev/trunk/solr/solrj/src/test/org/apache/solr/client/solrj/io/sql/
Removed:
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/payloads/
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/DefaultSimilarity.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/GrowableByteArrayDataOutput.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/payloads/
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/similarities/TestDefaultSimilarity.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/spans/MultiSpansWrapper.java
Modified:
lucene/dev/branches/lucene6780/ (props changed)
lucene/dev/branches/lucene6780/lucene/ (props changed)
lucene/dev/branches/lucene6780/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/lucene6780/lucene/analysis/ (props changed)
lucene/dev/branches/lucene6780/lucene/analysis/common/ (props changed)
lucene/dev/branches/lucene6780/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
lucene/dev/branches/lucene6780/lucene/benchmark/ (props changed)
lucene/dev/branches/lucene6780/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java
lucene/dev/branches/lucene6780/lucene/classification/ (props changed)
lucene/dev/branches/lucene6780/lucene/classification/src/java/org/apache/lucene/classification/KNearestNeighborClassifier.java
lucene/dev/branches/lucene6780/lucene/core/ (props changed)
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexableField.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/package-info.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java
lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestConstantScoreQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestDisjunctionMaxQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestElevationComparator.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestFuzzyQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestMinShouldMatch2.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestMultiPhraseQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestMultiTermConstantScore.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestPhraseQuery.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestPositionIncrement.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestQueryRescorer.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestSimilarity.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestSimpleExplanations.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestSimpleSearchEquivalence.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestSortRescorer.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestTermScorer.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarity2.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/similarities/TestSimilarityBase.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/spans/TestSpans.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/util/TestQueryBuilder.java
lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/util/TestUnicodeUtil.java
lucene/dev/branches/lucene6780/lucene/expressions/ (props changed)
lucene/dev/branches/lucene6780/lucene/expressions/src/test/org/apache/lucene/expressions/TestExpressionRescorer.java
lucene/dev/branches/lucene6780/lucene/facet/ (props changed)
lucene/dev/branches/lucene6780/lucene/facet/src/test/org/apache/lucene/facet/taxonomy/TestTaxonomyFacetCounts.java
lucene/dev/branches/lucene6780/lucene/highlighter/ (props changed)
lucene/dev/branches/lucene6780/lucene/highlighter/src/java/org/apache/lucene/search/highlight/QueryTermExtractor.java
lucene/dev/branches/lucene6780/lucene/highlighter/src/java/org/apache/lucene/search/highlight/WeightedSpanTermExtractor.java
lucene/dev/branches/lucene6780/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterPhraseTest.java
lucene/dev/branches/lucene6780/lucene/highlighter/src/test/org/apache/lucene/search/highlight/HighlighterTest.java
lucene/dev/branches/lucene6780/lucene/memory/ (props changed)
lucene/dev/branches/lucene6780/lucene/memory/src/test/org/apache/lucene/index/memory/TestMemoryIndex.java
lucene/dev/branches/lucene6780/lucene/misc/ (props changed)
lucene/dev/branches/lucene6780/lucene/misc/src/java/org/apache/lucene/misc/SweetSpotSimilarity.java
lucene/dev/branches/lucene6780/lucene/misc/src/test/org/apache/lucene/misc/SweetSpotSimilarityTest.java
lucene/dev/branches/lucene6780/lucene/queries/ (props changed)
lucene/dev/branches/lucene6780/lucene/queries/src/java/org/apache/lucene/queries/TermsQuery.java
lucene/dev/branches/lucene6780/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/IDFValueSource.java
lucene/dev/branches/lucene6780/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/NormValueSource.java
lucene/dev/branches/lucene6780/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/TFValueSource.java
lucene/dev/branches/lucene6780/lucene/queries/src/java/org/apache/lucene/queries/mlt/MoreLikeThis.java
lucene/dev/branches/lucene6780/lucene/queries/src/test/org/apache/lucene/queries/TermsQueryTest.java
lucene/dev/branches/lucene6780/lucene/queries/src/test/org/apache/lucene/queries/function/TestLongNormValueSource.java
lucene/dev/branches/lucene6780/lucene/queries/src/test/org/apache/lucene/queries/function/TestValueSources.java
lucene/dev/branches/lucene6780/lucene/queryparser/ (props changed)
lucene/dev/branches/lucene6780/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/MultiFieldQueryParser.java
lucene/dev/branches/lucene6780/lucene/queryparser/src/java/org/apache/lucene/queryparser/classic/QueryParserBase.java
lucene/dev/branches/lucene6780/lucene/queryparser/src/java/org/apache/lucene/queryparser/xml/builders/BoostingTermBuilder.java
lucene/dev/branches/lucene6780/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestMultiAnalyzer.java
lucene/dev/branches/lucene6780/lucene/queryparser/src/test/org/apache/lucene/queryparser/classic/TestQueryParser.java
lucene/dev/branches/lucene6780/lucene/sandbox/ (props changed)
lucene/dev/branches/lucene6780/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/FuzzyLikeThisQuery.java
lucene/dev/branches/lucene6780/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/regex/JakartaRegexpCapabilities.java
lucene/dev/branches/lucene6780/lucene/sandbox/src/java/org/apache/lucene/sandbox/queries/regex/JavaUtilRegexCapabilities.java
lucene/dev/branches/lucene6780/lucene/sandbox/src/test/org/apache/lucene/sandbox/queries/TestSlowFuzzyQuery2.java
lucene/dev/branches/lucene6780/lucene/spatial3d/ (props changed)
lucene/dev/branches/lucene6780/lucene/spatial3d/src/test/org/apache/lucene/bkdtree3d/TestGeo3DPointField.java
lucene/dev/branches/lucene6780/lucene/test-framework/ (props changed)
lucene/dev/branches/lucene6780/lucene/test-framework/src/java/org/apache/lucene/search/RandomSimilarityProvider.java
lucene/dev/branches/lucene6780/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
lucene/dev/branches/lucene6780/lucene/test-framework/src/java/org/apache/lucene/util/RamUsageTester.java
lucene/dev/branches/lucene6780/lucene/test-framework/src/java/org/apache/lucene/util/Rethrow.java
lucene/dev/branches/lucene6780/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
lucene/dev/branches/lucene6780/lucene/tools/ (props changed)
lucene/dev/branches/lucene6780/lucene/tools/forbiddenApis/base.txt
lucene/dev/branches/lucene6780/solr/ (props changed)
lucene/dev/branches/lucene6780/solr/CHANGES.txt (contents, props changed)
lucene/dev/branches/lucene6780/solr/contrib/ (props changed)
lucene/dev/branches/lucene6780/solr/contrib/analytics/src/test/org/apache/solr/analytics/AbstractAnalyticsStatsTest.java
lucene/dev/branches/lucene6780/solr/contrib/analytics/src/test/org/apache/solr/analytics/facet/AbstractAnalyticsFacetTest.java
lucene/dev/branches/lucene6780/solr/contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/FieldStreamDataSource.java
lucene/dev/branches/lucene6780/solr/contrib/map-reduce/src/test/org/apache/solr/hadoop/MRUnitBase.java
lucene/dev/branches/lucene6780/solr/contrib/morphlines-cell/src/test/org/apache/solr/morphlines/cell/SolrCellMorphlineTest.java
lucene/dev/branches/lucene6780/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineTestBase.java
lucene/dev/branches/lucene6780/solr/contrib/morphlines-core/src/test/org/apache/solr/morphlines/solr/AbstractSolrMorphlineZkTestBase.java
lucene/dev/branches/lucene6780/solr/contrib/velocity/src/java/org/apache/solr/response/VelocityResponseWriter.java
lucene/dev/branches/lucene6780/solr/contrib/velocity/src/test/org/apache/solr/velocity/VelocityResponseWriterTest.java
lucene/dev/branches/lucene6780/solr/core/ (props changed)
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/core/SolrCore.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/handler/PingRequestHandler.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/handler/admin/SystemInfoHandler.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/parser/SolrQueryParserBase.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/schema/FieldType.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/schema/TextField.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/BitDocSet.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/DocSetCollector.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/DocSetUtil.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/ExtendedDismaxQParser.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/Grouping.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/facet/BlockJoin.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/grouping/CommandHandler.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/similarities/DefaultSimilarityFactory.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/similarities/SchemaSimilarityFactory.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/search/similarities/SweetSpotSimilarityFactory.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/servlet/SolrDispatchFilter.java
lucene/dev/branches/lucene6780/solr/core/src/java/org/apache/solr/update/processor/DistributedUpdateProcessor.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/cloud/DistribJoinFromCollectionTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/cloud/SolrXmlInZkTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/cloud/hdfs/HdfsCollectionsAPIDistributedZkTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/handler/PingRequestHandlerTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/handler/admin/SystemInfoHandlerTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/highlight/HighlighterTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/schema/DateFieldTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/schema/PrimitiveFieldTypeTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/search/TestFiltering.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/search/function/TestFunctionQuery.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/search/similarities/MockConfigurableSimilarity.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/search/similarities/TestDefaultSimilarityFactory.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/search/similarities/TestNonDefinedSimilarityFactory.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/search/similarities/TestPerFieldSimilarity.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/search/similarities/TestSweetSpotSimilarityFactory.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/update/DocumentBuilderTest.java
lucene/dev/branches/lucene6780/solr/core/src/test/org/apache/solr/util/DateMathParserTest.java
lucene/dev/branches/lucene6780/solr/solrj/ (props changed)
lucene/dev/branches/lucene6780/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
lucene/dev/branches/lucene6780/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
lucene/dev/branches/lucene6780/solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudSolrClient.java
lucene/dev/branches/lucene6780/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java
lucene/dev/branches/lucene6780/solr/solrj/src/java/org/apache/solr/common/cloud/SolrZooKeeper.java
lucene/dev/branches/lucene6780/solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java
lucene/dev/branches/lucene6780/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java
lucene/dev/branches/lucene6780/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
lucene/dev/branches/lucene6780/solr/solrj/src/test/org/apache/solr/common/cloud/TestZkConfigManager.java
lucene/dev/branches/lucene6780/solr/webapp/ (props changed)
lucene/dev/branches/lucene6780/solr/webapp/web/WEB-INF/web.xml
lucene/dev/branches/lucene6780/solr/webapp/web/admin.html
lucene/dev/branches/lucene6780/solr/webapp/web/css/angular/common.css
lucene/dev/branches/lucene6780/solr/webapp/web/css/styles/common.css
lucene/dev/branches/lucene6780/solr/webapp/web/index.html
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/app.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/controllers/dataimport.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/controllers/documents.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/controllers/logging.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/controllers/query.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/controllers/replication.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/controllers/schema-browser.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/controllers/segments.js
lucene/dev/branches/lucene6780/solr/webapp/web/js/angular/services.js
lucene/dev/branches/lucene6780/solr/webapp/web/partials/collection_overview.html
lucene/dev/branches/lucene6780/solr/webapp/web/partials/query.html
Modified: lucene/dev/branches/lucene6780/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/CHANGES.txt?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/lucene6780/lucene/CHANGES.txt Fri Sep 18 15:13:49 2015
@@ -59,6 +59,11 @@ API Changes
* LUCENE-6706: PayloadTermQuery and PayloadNearQuery have been removed.
Instead, use PayloadScoreQuery to wrap any SpanQuery. (Alan Woodward)
+Changes in Runtime Behavior
+
+* LUCENE-6789: IndexSearcher's default Similarity is changed to BM25Similarity.
+ Use ClassicSimilarity to get the old vector space DefaultSimilarity. (Robert Muir)
+
======================= Lucene 5.4.0 =======================
New Features
@@ -82,6 +87,12 @@ API Changes
In order to apply boosts, you now need to wrap queries in a BoostQuery.
(Adrien Grand)
+* LUCENE-6716: SpanPayloadCheckQuery now takes a List<BytesRef> rather than
+ a Collection<byte[]>. (Alan Woodward)
+
+* LUCENE-6489: The various span payload queries have been moved to the queries
+ submodule, and PayloadSpanUtil is now in sandbox. (Alan Woodward)
+
Optimizations
* LUCENE-6708: TopFieldCollector does not compute the score several times on the
@@ -106,6 +117,10 @@ Optimizations
GeoPointTermsEnum to reduce GC pressure (Nick Knize via Mike
McCandless)
+* LUCENE-6779: Reduce memory allocated by CompressingStoredFieldsWriter to write
+ strings larger than 64kb by an amount equal to string's utf8 size.
+ (Dawid Weiss, Robert Muir, shalin)
+
Bug Fixes
* LUCENE-6730: Hyper-parameter c is ignored in term frequency NormalizationH1.
@@ -123,6 +138,18 @@ Bug Fixes
* LUCENE-6776: Fix geo3d math to handle randomly squashed planet
models (Karl Wright via Mike McCandless)
+* LUCENE-6792: Fix TermsQuery.toString() to work with binary terms.
+ (Ruslan Muzhikov, Robert Muir)
+
+* LUCENE-5503: When Highlighter's WeightedSpanTermExtractor converts a
+ PhraseQuery to an equivalent SpanQuery, it would sometimes use a slop that is
+ too low (no highlight) or determine inOrder wrong.
+ (Tim Allison via David Smiley)
+
+* LUCENE-6790: Fix IndexWriter thread safety when one thread is
+ handling a tragic exception but another is still committing (Mike
+ McCandless)
+
Other
* LUCENE-6174: Improve "ant eclipse" to select right JRE for building.
@@ -161,6 +188,16 @@ Other
* LUCENE-6798: Geo3d now models degenerate (too tiny) circles as a
single point (Karl Wright via Mike McCandless)
+* LUCENE-6770: Add javadocs that FSDirectory canonicalizes the path.
+ (Uwe Schindler, Vladimir Kuzmin)
+
+* LUCENE-6795: Fix various places where code used
+ AccessibleObject#setAccessible() without a privileged block. Code
+ without a hard requirement to do reflection were rewritten. This
+ makes Lucene and Solr ready for Java 9 Jigsaw's module system, where
+ reflection on Java's runtime classes is very restricted.
+ (Robert Muir, Uwe Schindler)
+
Build
* LUCENE-6732: Improve checker for invalid source patterns to also
Modified: lucene/dev/branches/lucene6780/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java (original)
+++ lucene/dev/branches/lucene6780/lucene/analysis/common/src/java/org/apache/lucene/analysis/hunspell/Dictionary.java Fri Sep 18 15:13:49 2015
@@ -1240,4 +1240,9 @@ public class Dictionary {
}
}
}
+
+ /** Returns true if this dictionary was constructed with the {@code ignoreCase} option */
+ public boolean getIgnoreCase() {
+ return ignoreCase;
+ }
}
Modified: lucene/dev/branches/lucene6780/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java (original)
+++ lucene/dev/branches/lucene6780/lucene/benchmark/src/test/org/apache/lucene/benchmark/quality/TestQualityRun.java Fri Sep 18 15:13:49 2015
@@ -25,6 +25,7 @@ import org.apache.lucene.benchmark.quali
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.IndexSearcher;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.store.Directory;
import java.io.BufferedReader;
@@ -74,6 +75,8 @@ public class TestQualityRun extends Benc
Directory dir = newFSDirectory(getWorkDir().resolve("index"));
IndexReader reader = DirectoryReader.open(dir);
IndexSearcher searcher = new IndexSearcher(reader);
+ // TODO: adapt this test data to bm25
+ searcher.setSimilarity(new ClassicSimilarity());
QualityQueryParser qqParser = new SimpleQQParser("title","body");
QualityBenchmark qrun = new QualityBenchmark(qqs, qqParser, searcher, docNameField);
Modified: lucene/dev/branches/lucene6780/lucene/classification/src/java/org/apache/lucene/classification/KNearestNeighborClassifier.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/classification/src/java/org/apache/lucene/classification/KNearestNeighborClassifier.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/classification/src/java/org/apache/lucene/classification/KNearestNeighborClassifier.java (original)
+++ lucene/dev/branches/lucene6780/lucene/classification/src/java/org/apache/lucene/classification/KNearestNeighborClassifier.java Fri Sep 18 15:13:49 2015
@@ -36,7 +36,7 @@ import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.WildcardQuery;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.util.BytesRef;
@@ -61,7 +61,7 @@ public class KNearestNeighborClassifier
* @param leafReader the reader on the index to be used for classification
* @param analyzer an {@link Analyzer} used to analyze unseen text
* @param similarity the {@link Similarity} to be used by the underlying {@link IndexSearcher} or {@code null}
- * (defaults to {@link org.apache.lucene.search.similarities.DefaultSimilarity})
+ * (defaults to {@link org.apache.lucene.search.similarities.ClassicSimilarity})
* @param query a {@link Query} to eventually filter the docs used for training the classifier, or {@code null}
* if all the indexed docs should be used
* @param k the no. of docs to select in the MLT results to find the nearest neighbor
@@ -81,7 +81,7 @@ public class KNearestNeighborClassifier
if (similarity != null) {
this.indexSearcher.setSimilarity(similarity);
} else {
- this.indexSearcher.setSimilarity(new DefaultSimilarity());
+ this.indexSearcher.setSimilarity(new ClassicSimilarity());
}
if (minDocsFreq > 0) {
mlt.setMinDocFreq(minDocsFreq);
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/analysis/tokenattributes/PayloadAttribute.java Fri Sep 18 15:13:49 2015
@@ -24,9 +24,7 @@ import org.apache.lucene.util.BytesRef;
* The payload of a Token.
* <p>
* The payload is stored in the index at each position, and can
- * be used to influence scoring when using Payload-based queries
- * in the {@link org.apache.lucene.search.payloads} and
- * {@link org.apache.lucene.search.spans} packages.
+ * be used to influence scoring when using Payload-based queries.
* <p>
* NOTE: because the payload will be stored at each position, it's usually
* best to use the minimum number of bytes necessary. Some codec implementations
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsWriter.java Fri Sep 18 15:13:49 2015
@@ -40,9 +40,7 @@ import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.BitUtil;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.GrowableByteArrayDataOutput;
import org.apache.lucene.util.IOUtils;
-import org.apache.lucene.util.UnicodeUtil;
import org.apache.lucene.util.packed.PackedInts;
/**
@@ -245,8 +243,6 @@ public final class CompressingStoredFiel
numChunks++;
}
- byte scratchBytes[] = new byte[16];
-
@Override
public void writeField(FieldInfo info, StorableField field)
throws IOException {
@@ -293,11 +289,7 @@ public final class CompressingStoredFiel
bufferedDocs.writeVInt(bytes.length);
bufferedDocs.writeBytes(bytes.bytes, bytes.offset, bytes.length);
} else if (string != null) {
- // this is just an optimized writeString() that re-uses scratchBytes.
- scratchBytes = ArrayUtil.grow(scratchBytes, string.length() * UnicodeUtil.MAX_UTF8_BYTES_PER_CHAR);
- int length = UnicodeUtil.UTF16toUTF8(string, 0, string.length(), scratchBytes);
- bufferedDocs.writeVInt(length);
- bufferedDocs.writeBytes(scratchBytes, length);
+ bufferedDocs.writeString(string);
} else {
if (number instanceof Byte || number instanceof Short || number instanceof Integer) {
bufferedDocs.writeZInt(number.intValue());
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsWriter.java Fri Sep 18 15:13:49 2015
@@ -35,8 +35,6 @@ import org.apache.lucene.index.Fields;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.MergeState;
import org.apache.lucene.index.SegmentInfo;
-import org.apache.lucene.store.BufferedChecksumIndexInput;
-import org.apache.lucene.store.ChecksumIndexInput;
import org.apache.lucene.store.DataInput;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
@@ -45,7 +43,6 @@ import org.apache.lucene.store.IndexOutp
import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.Bits;
import org.apache.lucene.util.BytesRef;
-import org.apache.lucene.util.GrowableByteArrayDataOutput;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.StringHelper;
import org.apache.lucene.util.packed.BlockPackedWriter;
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/DocumentsWriterDeleteQueue.java Fri Sep 18 15:13:49 2015
@@ -77,8 +77,9 @@ final class DocumentsWriterDeleteQueue i
private final DeleteSlice globalSlice;
private final BufferedUpdates globalBufferedUpdates;
- /* only acquired to update the global deletes */
- private final ReentrantLock globalBufferLock = new ReentrantLock();
+
+ // only acquired to update the global deletes, pkg-private for access by tests:
+ final ReentrantLock globalBufferLock = new ReentrantLock();
final long generation;
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java Fri Sep 18 15:13:49 2015
@@ -2014,15 +2014,19 @@ public class IndexWriter implements Clos
// Ensure that only one thread actually gets to do the
// closing, and make sure no commit is also in progress:
- synchronized(commitLock) {
- if (shouldClose(true)) {
- rollbackInternal();
- }
+ if (shouldClose(true)) {
+ rollbackInternal();
}
}
private void rollbackInternal() throws IOException {
+ // Make sure no commit is running, else e.g. we can close while another thread is still fsync'ing:
+ synchronized(commitLock) {
+ rollbackInternalNoCommit();
+ }
+ }
+ private void rollbackInternalNoCommit() throws IOException {
boolean success = false;
if (infoStream.isEnabled("IW")) {
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexableField.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexableField.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexableField.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/index/IndexableField.java Fri Sep 18 15:13:49 2015
@@ -21,7 +21,7 @@ import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
-import org.apache.lucene.search.similarities.DefaultSimilarity; // javadocs
+import org.apache.lucene.search.similarities.ClassicSimilarity; // javadocs
import org.apache.lucene.search.similarities.Similarity; // javadocs
// TODO: how to handle versioning here...?
@@ -59,7 +59,7 @@ public interface IndexableField extends
* <p>The boost is used to compute the norm factor for the field. By
* default, in the {@link Similarity#computeNorm(FieldInvertState)} method,
* the boost value is multiplied by the length normalization factor and then
- * rounded by {@link DefaultSimilarity#encodeNormValue(float)} before it is stored in the
+ * rounded by {@link ClassicSimilarity#encodeNormValue(float)} before it is stored in the
* index. One should attempt to ensure that this product does not overflow
* the range of that encoding.
* <p>
@@ -68,7 +68,7 @@ public interface IndexableField extends
* omits normalization values ({@link IndexableFieldType#omitNorms()} returns true).
*
* @see Similarity#computeNorm(FieldInvertState)
- * @see DefaultSimilarity#encodeNormValue(float)
+ * @see ClassicSimilarity#encodeNormValue(float)
*/
public float boost();
}
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/DisjunctionScorer.java Fri Sep 18 15:13:49 2015
@@ -28,7 +28,7 @@ import java.util.List;
abstract class DisjunctionScorer extends Scorer {
private final boolean needsScores;
- private final DisiPriorityQueue<Scorer> subScorers;
+ final DisiPriorityQueue<Scorer> subScorers;
private final long cost;
/** Linked list of scorers which are on the current doc */
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java Fri Sep 18 15:13:49 2015
@@ -43,7 +43,7 @@ import org.apache.lucene.index.StoredFie
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermContext;
import org.apache.lucene.index.Terms;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.BM25Similarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.store.NIOFSDirectory; // javadoc
import org.apache.lucene.util.Bits;
@@ -147,7 +147,7 @@ public class IndexSearcher {
private final ExecutorService executor;
// the default Similarity
- private static final Similarity defaultSimilarity = new DefaultSimilarity();
+ private static final Similarity defaultSimilarity = new BM25Similarity();
private QueryCache queryCache = DEFAULT_QUERY_CACHE;
private QueryCachingPolicy queryCachingPolicy = DEFAULT_CACHING_POLICY;
@@ -335,7 +335,7 @@ public class IndexSearcher {
* When {@code needsScores} is {@code true}, this returns the
* {@link Similarity} that has been set through {@link #setSimilarity(Similarity)}
* or the {@link #getDefaultSimilarity()} default {@link Similarity} if none
- * has been set explicitely. */
+ * has been set explicitly. */
public Similarity getSimilarity(boolean needsScores) {
return needsScores ? similarity : NON_SCORING_SIMILARITY;
}
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/package-info.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/package-info.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/package-info.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/package-info.java Fri Sep 18 15:13:49 2015
@@ -33,7 +33,7 @@
* <h2>Search Basics</h2>
* <p>
* Lucene offers a wide variety of {@link org.apache.lucene.search.Query} implementations, most of which are in
- * this package, its subpackages ({@link org.apache.lucene.search.spans spans}, {@link org.apache.lucene.search.payloads payloads}),
+ * this package, its subpackage ({@link org.apache.lucene.search.spans spans},
* or the <a href="{@docRoot}/../queries/overview-summary.html">queries module</a>. These implementations can be combined in a wide
* variety of ways to provide complex querying capabilities along with information about where matches took place in the document
* collection. The <a href="#query">Query Classes</a> section below highlights some of the more important Query classes. For details
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/BM25Similarity.java Fri Sep 18 15:13:49 2015
@@ -35,12 +35,10 @@ import org.apache.lucene.util.SmallFloat
* Susan Jones, Micheline Hancock-Beaulieu, and Mike Gatford. Okapi at TREC-3.
* In Proceedings of the Third <b>T</b>ext <b>RE</b>trieval <b>C</b>onference (TREC 1994).
* Gaithersburg, USA, November 1994.
- * @lucene.experimental
*/
public class BM25Similarity extends Similarity {
private final float k1;
private final float b;
- // TODO: should we add a delta like sifaka.cs.uiuc.edu/~ylv2/pub/sigir11-bm25l.pdf ?
/**
* BM25 with the supplied parameter values.
@@ -54,8 +52,8 @@ public class BM25Similarity extends Simi
/** BM25 with these default values:
* <ul>
- * <li>{@code k1 = 1.2},
- * <li>{@code b = 0.75}.</li>
+ * <li>{@code k1 = 1.2}</li>
+ * <li>{@code b = 0.75}</li>
* </ul>
*/
public BM25Similarity() {
@@ -333,7 +331,7 @@ public class BM25Similarity extends Simi
* Returns the <code>k1</code> parameter
* @see #BM25Similarity(float, float)
*/
- public float getK1() {
+ public final float getK1() {
return k1;
}
@@ -341,7 +339,7 @@ public class BM25Similarity extends Simi
* Returns the <code>b</code> parameter
* @see #BM25Similarity(float, float)
*/
- public float getB() {
+ public final float getB() {
return b;
}
}
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/Similarity.java Fri Sep 18 15:13:49 2015
@@ -42,7 +42,7 @@ import java.util.Collections;
* an information retrieval <i>model</i>. If you are instead looking for a convenient way
* to alter Lucene's scoring, consider extending a higher-level implementation
* such as {@link TFIDFSimilarity}, which implements the vector space model with this API, or
- * just tweaking the default implementation: {@link DefaultSimilarity}.
+ * just tweaking the default implementation: {@link BM25Similarity}.
* <p>
* Similarity determines how Lucene weights terms, and Lucene interacts with
* this class at both <a href="#indextime">index-time</a> and
@@ -56,7 +56,7 @@ import java.util.Collections;
* information.
* <p>
* Implementations should carefully consider how the normalization is encoded: while
- * Lucene's classical {@link TFIDFSimilarity} encodes a combination of index-time boost
+ * Lucene's {@link BM25Similarity} encodes a combination of index-time boost
* and length normalization information with {@link SmallFloat} into a single byte, this
* might not be suitable for all purposes.
* <p>
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/TFIDFSimilarity.java Fri Sep 18 15:13:49 2015
@@ -308,13 +308,13 @@ import org.apache.lucene.util.BytesRef;
* two term-queries with that same term and hence the computation would still be correct (although
* not very efficient).
* The default computation for <i>tf(t in d)</i> in
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity#tf(float) DefaultSimilarity} is:
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity#tf(float) ClassicSimilarity} is:
*
* <br> <br>
* <table cellpadding="2" cellspacing="2" border="0" style="width:auto; margin-left:auto; margin-right:auto" summary="term frequency computation">
* <tr>
* <td valign="middle" align="right" rowspan="1">
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity#tf(float) tf(t in d)} =
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity#tf(float) tf(t in d)} =
* </td>
* <td valign="top" align="center" rowspan="1">
* frequency<sup><big>½</big></sup>
@@ -333,13 +333,13 @@ import org.apache.lucene.util.BytesRef;
* <i>idf(t)</i> appears for <i>t</i> in both the query and the document,
* hence it is squared in the equation.
* The default computation for <i>idf(t)</i> in
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity#idf(long, long) DefaultSimilarity} is:
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity#idf(long, long) ClassicSimilarity} is:
*
* <br> <br>
* <table cellpadding="2" cellspacing="2" border="0" style="width:auto; margin-left:auto; margin-right:auto" summary="inverse document frequency computation">
* <tr>
* <td valign="middle" align="right">
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity#idf(long, long) idf(t)} =
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity#idf(long, long) idf(t)} =
* </td>
* <td valign="middle" align="center">
* 1 + log <big>(</big>
@@ -381,14 +381,14 @@ import org.apache.lucene.util.BytesRef;
* This is a search time factor computed by the Similarity in effect at search time.
*
* The default computation in
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity#queryNorm(float) DefaultSimilarity}
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity#queryNorm(float) ClassicSimilarity}
* produces a <a href="http://en.wikipedia.org/wiki/Euclidean_norm#Euclidean_norm">Euclidean norm</a>:
* <br> <br>
* <table cellpadding="1" cellspacing="0" border="0" style="width:auto; margin-left:auto; margin-right:auto" summary="query normalization computation">
* <tr>
* <td valign="middle" align="right" rowspan="1">
* queryNorm(q) =
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity#queryNorm(float) queryNorm(sumOfSquaredWeights)}
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity#queryNorm(float) queryNorm(sumOfSquaredWeights)}
* =
* </td>
* <td valign="middle" align="center" rowspan="1">
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/search/similarities/package-info.java Fri Sep 18 15:13:49 2015
@@ -32,7 +32,7 @@
* <a name="sims"></a>
* <h2>Summary of the Ranking Methods</h2>
*
- * <p>{@link org.apache.lucene.search.similarities.DefaultSimilarity} is the original Lucene
+ * <p>{@link org.apache.lucene.search.similarities.ClassicSimilarity} is the original Lucene
* scoring function. It is based on a highly optimized
* <a href="http://en.wikipedia.org/wiki/Vector_Space_Model">Vector Space Model</a>. For more
* information, see {@link org.apache.lucene.search.similarities.TFIDFSimilarity}.
@@ -57,7 +57,7 @@
*
* Since {@link org.apache.lucene.search.similarities.SimilarityBase} is not
* optimized to the same extent as
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity} and
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity} and
* {@link org.apache.lucene.search.similarities.BM25Similarity}, a difference in
* performance is to be expected when using the methods listed above. However,
* optimizations can always be implemented in subclasses; see
@@ -81,7 +81,7 @@
*
* <p>To make this change, implement your own {@link org.apache.lucene.search.similarities.Similarity} (likely
* you'll want to simply subclass an existing method, be it
- * {@link org.apache.lucene.search.similarities.DefaultSimilarity} or a descendant of
+ * {@link org.apache.lucene.search.similarities.ClassicSimilarity} or a descendant of
* {@link org.apache.lucene.search.similarities.SimilarityBase}), and
* then register the new class by calling
* {@link org.apache.lucene.index.IndexWriterConfig#setSimilarity(Similarity)}
@@ -109,7 +109,7 @@
* subclassing the Similarity, one can simply introduce a new basic model and tell
* {@link org.apache.lucene.search.similarities.DFRSimilarity} to use it.
*
- * <h3>Changing {@linkplain org.apache.lucene.search.similarities.DefaultSimilarity}</h3>
+ * <h3>Changing {@linkplain org.apache.lucene.search.similarities.ClassicSimilarity}</h3>
* <p>
* If you are interested in use cases for changing your similarity, see the Lucene users's mailing list at <a
* href="http://www.gossamer-threads.com/lists/lucene/java-user/39125">Overriding Similarity</a>.
@@ -126,7 +126,7 @@
* <li><p>Changing Length Normalization — By overriding
* {@link org.apache.lucene.search.similarities.Similarity#computeNorm(org.apache.lucene.index.FieldInvertState state)},
* it is possible to discount how the length of a field contributes
- * to a score. In {@link org.apache.lucene.search.similarities.DefaultSimilarity},
+ * to a score. In {@link org.apache.lucene.search.similarities.ClassicSimilarity},
* lengthNorm = 1 / (numTerms in field)^0.5, but if one changes this to be
* 1 / (numTerms in field), all fields will be treated
* <a href="http://www.gossamer-threads.com/lists/lucene/java-user/38967#38967">"fairly"</a>.</li>
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/FSDirectory.java Fri Sep 18 15:13:49 2015
@@ -117,6 +117,12 @@ public abstract class FSDirectory extend
/** Create a new FSDirectory for the named location (ctor for subclasses).
* The directory is created at the named location if it does not yet exist.
+ *
+ * <p>{@code FSDirectory} resolves the given Path to a canonical /
+ * real path to ensure it can correctly lock the index directory and no other process
+ * can interfere with changing possible symlinks to the index directory inbetween.
+ * If you want to use symlinks and change them dynamically, close all
+ * {@code IndexWriters} and create a new {@code FSDirecory} instance.
* @param path the path of the directory
* @param lockFactory the lock factory to use, or null for the default
* ({@link NativeFSLockFactory});
@@ -135,6 +141,12 @@ public abstract class FSDirectory extend
* best implementation given the current environment.
* The directory returned uses the {@link NativeFSLockFactory}.
* The directory is created at the named location if it does not yet exist.
+ *
+ * <p>{@code FSDirectory} resolves the given Path when calling this method to a canonical /
+ * real path to ensure it can correctly lock the index directory and no other process
+ * can interfere with changing possible symlinks to the index directory inbetween.
+ * If you want to use symlinks and change them dynamically, close all
+ * {@code IndexWriters} and create a new {@code FSDirecory} instance.
*
* <p>Currently this returns {@link MMapDirectory} for Linux, MacOSX, Solaris,
* and Windows 64-bit JREs, {@link NIOFSDirectory} for other
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/store/MMapDirectory.java Fri Sep 18 15:13:49 2015
@@ -35,6 +35,7 @@ import java.lang.reflect.Method;
import org.apache.lucene.store.ByteBufferIndexInput.BufferCleaner;
import org.apache.lucene.util.Constants;
+import org.apache.lucene.util.SuppressForbidden;
/** File-based {@link Directory} implementation that uses
* mmap for reading, and {@link
@@ -165,6 +166,7 @@ public class MMapDirectory extends FSDir
public static final boolean UNMAP_SUPPORTED =
AccessController.doPrivileged((PrivilegedAction<Boolean>) MMapDirectory::checkUnmapSupported);
+ @SuppressForbidden(reason = "Java 9 Jigsaw whitelists access to sun.misc.Cleaner, so setAccessible works")
private static boolean checkUnmapSupported() {
try {
Class<?> clazz = Class.forName("java.nio.DirectByteBuffer");
@@ -307,16 +309,20 @@ public class MMapDirectory extends FSDir
return newIoe;
}
- private static final BufferCleaner CLEANER = (ByteBufferIndexInput parent, ByteBuffer buffer) -> {
+ private static final BufferCleaner CLEANER = (final ByteBufferIndexInput parent, final ByteBuffer buffer) -> {
try {
- AccessController.doPrivileged((PrivilegedExceptionAction<Void>) () -> {
- final Method getCleanerMethod = buffer.getClass().getMethod("cleaner");
- getCleanerMethod.setAccessible(true);
- final Object cleaner = getCleanerMethod.invoke(buffer);
- if (cleaner != null) {
- cleaner.getClass().getMethod("clean").invoke(cleaner);
+ AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
+ @Override
+ @SuppressForbidden(reason = "Java 9 Jigsaw whitelists access to sun.misc.Cleaner, so setAccessible works")
+ public Void run() throws Exception {
+ final Method getCleanerMethod = buffer.getClass().getMethod("cleaner");
+ getCleanerMethod.setAccessible(true);
+ final Object cleaner = getCleanerMethod.invoke(buffer);
+ if (cleaner != null) {
+ cleaner.getClass().getMethod("clean").invoke(cleaner);
+ }
+ return null;
}
- return null;
});
} catch (PrivilegedActionException e) {
throw new IOException("Unable to unmap the mapped buffer: " + parent.toString(), e.getCause());
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/LSBRadixSorter.java Fri Sep 18 15:13:49 2015
@@ -21,8 +21,9 @@ import java.util.Arrays;
/**
* A LSB Radix sorter for unsigned int values.
+ * @lucene.internal
*/
-final class LSBRadixSorter {
+public final class LSBRadixSorter {
private static final int INSERTION_SORT_THRESHOLD = 30;
private static final int HISTOGRAM_SIZE = 256;
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/QueryBuilder.java Fri Sep 18 15:13:49 2015
@@ -32,6 +32,7 @@ import org.apache.lucene.search.BooleanQ
import org.apache.lucene.search.MultiPhraseQuery;
import org.apache.lucene.search.PhraseQuery;
import org.apache.lucene.search.Query;
+import org.apache.lucene.search.SynonymQuery;
import org.apache.lucene.search.TermQuery;
/**
@@ -280,28 +281,25 @@ public class QueryBuilder {
* Creates simple boolean query from the cached tokenstream contents
*/
private Query analyzeBoolean(String field, TokenStream stream) throws IOException {
- BooleanQuery.Builder q = new BooleanQuery.Builder();
- q.setDisableCoord(true);
-
TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
stream.reset();
+ List<Term> terms = new ArrayList<>();
while (stream.incrementToken()) {
- Query currentQuery = newTermQuery(new Term(field, BytesRef.deepCopyOf(termAtt.getBytesRef())));
- q.add(currentQuery, BooleanClause.Occur.SHOULD);
+ terms.add(new Term(field, BytesRef.deepCopyOf(termAtt.getBytesRef())));
}
- return q.build();
+ return newSynonymQuery(terms.toArray(new Term[terms.size()]));
}
- private void add(BooleanQuery.Builder q, BooleanQuery current, BooleanClause.Occur operator) {
- if (current.clauses().isEmpty()) {
+ private void add(BooleanQuery.Builder q, List<Term> current, BooleanClause.Occur operator) {
+ if (current.isEmpty()) {
return;
}
- if (current.clauses().size() == 1) {
- q.add(current.clauses().iterator().next().getQuery(), operator);
+ if (current.size() == 1) {
+ q.add(newTermQuery(current.get(0)), operator);
} else {
- q.add(current, operator);
+ q.add(newSynonymQuery(current.toArray(new Term[current.size()])), operator);
}
}
@@ -309,8 +307,8 @@ public class QueryBuilder {
* Creates complex boolean query from the cached tokenstream contents
*/
private Query analyzeMultiBoolean(String field, TokenStream stream, BooleanClause.Occur operator) throws IOException {
- BooleanQuery.Builder q = newBooleanQuery(false);
- BooleanQuery.Builder currentQuery = newBooleanQuery(true);
+ BooleanQuery.Builder q = newBooleanQuery();
+ List<Term> currentQuery = new ArrayList<>();
TermToBytesRefAttribute termAtt = stream.getAttribute(TermToBytesRefAttribute.class);
PositionIncrementAttribute posIncrAtt = stream.getAttribute(PositionIncrementAttribute.class);
@@ -318,12 +316,12 @@ public class QueryBuilder {
stream.reset();
while (stream.incrementToken()) {
if (posIncrAtt.getPositionIncrement() != 0) {
- add(q, currentQuery.build(), operator);
- currentQuery = newBooleanQuery(true);
+ add(q, currentQuery, operator);
+ currentQuery.clear();
}
- currentQuery.add(newTermQuery(new Term(field, BytesRef.deepCopyOf(termAtt.getBytesRef()))), BooleanClause.Occur.SHOULD);
+ currentQuery.add(new Term(field, BytesRef.deepCopyOf(termAtt.getBytesRef())));
}
- add(q, currentQuery.build(), operator);
+ add(q, currentQuery, operator);
return q.build();
}
@@ -393,13 +391,20 @@ public class QueryBuilder {
* Builds a new BooleanQuery instance.
* <p>
* This is intended for subclasses that wish to customize the generated queries.
- * @param disableCoord disable coord
* @return new BooleanQuery instance
*/
- protected BooleanQuery.Builder newBooleanQuery(boolean disableCoord) {
- BooleanQuery.Builder builder = new BooleanQuery.Builder();
- builder.setDisableCoord(disableCoord);
- return builder;
+ protected BooleanQuery.Builder newBooleanQuery() {
+ return new BooleanQuery.Builder();
+ }
+
+ /**
+ * Builds a new SynonymQuery instance.
+ * <p>
+ * This is intended for subclasses that wish to customize the generated queries.
+ * @return new Query instance
+ */
+ protected Query newSynonymQuery(Term terms[]) {
+ return new SynonymQuery(terms);
}
/**
Modified: lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/java/org/apache/lucene/util/UnicodeUtil.java Fri Sep 18 15:13:49 2015
@@ -179,11 +179,21 @@ public final class UnicodeUtil {
* for length characters. It is the responsibility of the
* caller to make sure that the destination array is large enough.
*/
- // TODO: broken if incoming result.offset != 0
public static int UTF16toUTF8(final CharSequence s, final int offset, final int length, byte[] out) {
+ return UTF16toUTF8(s, offset, length, out, 0);
+ }
+
+ /** Encode characters from this String, starting at offset
+ * for length characters. Output to the destination array
+ * will begin at {@code outOffset}. It is the responsibility of the
+ * caller to make sure that the destination array is large enough.
+ * <p>
+ * note this method returns the final output offset (outOffset + number of bytes written)
+ */
+ public static int UTF16toUTF8(final CharSequence s, final int offset, final int length, byte[] out, int outOffset) {
final int end = offset + length;
- int upto = 0;
+ int upto = outOffset;
for(int i=offset;i<end;i++) {
final int code = (int) s.charAt(i);
@@ -223,6 +233,43 @@ public final class UnicodeUtil {
return upto;
}
+ /**
+ * Calculates the number of UTF8 bytes necessary to write a UTF16 string.
+ *
+ * @return the number of bytes written
+ */
+ public static int calcUTF16toUTF8Length(final CharSequence s, final int offset, final int len) {
+ final int end = offset + len;
+
+ int res = 0;
+ for (int i = offset; i < end; i++) {
+ final int code = (int) s.charAt(i);
+
+ if (code < 0x80)
+ res++;
+ else if (code < 0x800) {
+ res += 2;
+ } else if (code < 0xD800 || code > 0xDFFF) {
+ res += 3;
+ } else {
+ // surrogate pair
+ // confirm valid high surrogate
+ if (code < 0xDC00 && (i < end - 1)) {
+ int utf32 = (int) s.charAt(i + 1);
+ // confirm valid low surrogate and write pair
+ if (utf32 >= 0xDC00 && utf32 <= 0xDFFF) {
+ i++;
+ res += 4;
+ continue;
+ }
+ }
+ res += 3;
+ }
+ }
+
+ return res;
+ }
+
// Only called from assert
/*
private static boolean matches(char[] source, int offset, int length, byte[] result, int upto) {
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestCustomNorms.java Fri Sep 18 15:13:49 2015
@@ -24,7 +24,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.search.CollectionStatistics;
import org.apache.lucene.search.TermStatistics;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.PerFieldSimilarityWrapper;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.store.Directory;
@@ -80,7 +80,7 @@ public class TestCustomNorms extends Luc
}
public class MySimProvider extends PerFieldSimilarityWrapper {
- Similarity delegate = new DefaultSimilarity();
+ Similarity delegate = new ClassicSimilarity();
@Override
public float queryNorm(float sumOfSquaredWeights) {
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestDocumentsWriterDeleteQueue.java Fri Sep 18 15:13:49 2015
@@ -17,7 +17,6 @@ package org.apache.lucene.index;
* the License.
*/
-import java.lang.reflect.Field;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
@@ -149,10 +148,7 @@ public class TestDocumentsWriterDeleteQu
NoSuchFieldException, IllegalArgumentException, IllegalAccessException,
InterruptedException {
final DocumentsWriterDeleteQueue queue = new DocumentsWriterDeleteQueue();
- Field field = DocumentsWriterDeleteQueue.class
- .getDeclaredField("globalBufferLock");
- field.setAccessible(true);
- ReentrantLock lock = (ReentrantLock) field.get(queue);
+ ReentrantLock lock = queue.globalBufferLock;
lock.lock();
Thread t = new Thread() {
@Override
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterConfig.java Fri Sep 18 15:13:49 2015
@@ -30,7 +30,7 @@ import org.apache.lucene.document.Field.
import org.apache.lucene.index.DocumentsWriterPerThread.IndexingChain;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.LuceneTestCase;
@@ -39,7 +39,7 @@ import org.junit.Test;
public class TestIndexWriterConfig extends LuceneTestCase {
- private static final class MySimilarity extends DefaultSimilarity {
+ private static final class MySimilarity extends ClassicSimilarity {
// Does not implement anything - used only for type checking on IndexWriterConfig.
}
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterExceptions.java Fri Sep 18 15:13:49 2015
@@ -1931,22 +1931,6 @@ public class TestIndexWriterExceptions e
}
if (w == null) {
IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
- final MergeScheduler ms = iwc.getMergeScheduler();
- if (ms instanceof ConcurrentMergeScheduler) {
- final ConcurrentMergeScheduler suppressFakeIOE = new ConcurrentMergeScheduler() {
- @Override
- protected void handleMergeException(Directory dir, Throwable exc) {
- // suppress only FakeIOException:
- if (!(exc instanceof FakeIOException)) {
- super.handleMergeException(dir, exc);
- }
- }
- };
- final ConcurrentMergeScheduler cms = (ConcurrentMergeScheduler) ms;
- suppressFakeIOE.setMaxMergesAndThreads(cms.getMaxMergeCount(), cms.getMaxThreadCount());
- iwc.setMergeScheduler(suppressFakeIOE);
- }
-
w = new RandomIndexWriter(random(), dir, iwc);
// Since we hit exc during merging, a partial
// forceMerge can easily return when there are still
@@ -2047,6 +2031,18 @@ public class TestIndexWriterExceptions e
}
shouldFail.set(false);
+ if (w != null) {
+ MergeScheduler ms = w.w.getConfig().getMergeScheduler();
+ if (ms instanceof ConcurrentMergeScheduler) {
+ ((ConcurrentMergeScheduler) ms).sync();
+ }
+
+ if (w.w.getTragicException() != null) {
+ // Tragic exc in CMS closed the writer
+ w = null;
+ }
+ }
+
IndexReader r;
if (doClose && w != null) {
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOnJRECrash.java Fri Sep 18 15:13:49 2015
@@ -41,6 +41,7 @@ import org.apache.lucene.util.SuppressFo
import org.apache.lucene.util.TestUtil;
import com.carrotsearch.randomizedtesting.SeedUtils;
+
/**
* Runs TestNRTThreads in a separate process, crashes the JRE in the middle
* of execution, then runs checkindex to make sure it's not corrupt.
@@ -187,6 +188,7 @@ public class TestIndexWriterOnJRECrash e
/**
* currently, this only works/tested on Sun and IBM.
*/
+ @SuppressForbidden(reason = "We need Unsafe to actually crush :-)")
public void crashJRE() {
final String vendor = Constants.JAVA_VENDOR;
final boolean supportsUnsafeNpeDereference =
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterOutOfFileDescriptors.java Fri Sep 18 15:13:49 2015
@@ -84,7 +84,13 @@ public class TestIndexWriterOutOfFileDes
w.addDocument(docs.nextDoc());
}
dir.setRandomIOExceptionRateOnOpen(0.0);
- w.close();
+ if (ms instanceof ConcurrentMergeScheduler) {
+ ((ConcurrentMergeScheduler) ms).sync();
+ }
+ // If exc hit CMS then writer will be tragically closed:
+ if (w.getTragicException() == null) {
+ w.close();
+ }
w = null;
// NOTE: This is O(N^2)! Only enable for temporary debugging:
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestNorms.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestNorms.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/index/TestNorms.java Fri Sep 18 15:13:49 2015
@@ -26,7 +26,7 @@ import org.apache.lucene.document.Field;
import org.apache.lucene.document.TextField;
import org.apache.lucene.search.CollectionStatistics;
import org.apache.lucene.search.TermStatistics;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.PerFieldSimilarityWrapper;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.search.similarities.TFIDFSimilarity;
@@ -154,7 +154,7 @@ public class TestNorms extends LuceneTes
public class MySimProvider extends PerFieldSimilarityWrapper {
- Similarity delegate = new DefaultSimilarity();
+ Similarity delegate = new ClassicSimilarity();
@Override
public float queryNorm(float sumOfSquaredWeights) {
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java Fri Sep 18 15:13:49 2015
@@ -27,7 +27,7 @@ import org.apache.lucene.index.Directory
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.MockDirectoryWrapper;
@@ -65,7 +65,7 @@ public class TestBoolean2 extends Lucene
littleReader = DirectoryReader.open(directory);
searcher = newSearcher(littleReader);
// this is intentionally using the baseline sim, because it compares against bigSearcher (which uses a random one)
- searcher.setSimilarity(new DefaultSimilarity());
+ searcher.setSimilarity(new ClassicSimilarity());
// Make big index
dir2 = new MockDirectoryWrapper(random(), TestUtil.ramCopyOf(directory));
@@ -242,7 +242,7 @@ public class TestBoolean2 extends Lucene
int[] expDocNrs = {2, 3};
Similarity oldSimilarity = searcher.getSimilarity(true);
try {
- searcher.setSimilarity(new DefaultSimilarity(){
+ searcher.setSimilarity(new ClassicSimilarity(){
@Override
public float coord(int overlap, int maxOverlap) {
return overlap / ((float)maxOverlap - 1);
@@ -279,7 +279,7 @@ public class TestBoolean2 extends Lucene
searcher.setSimilarity(bigSearcher.getSimilarity(true)); // random sim
QueryUtils.check(random(), q1, searcher);
} finally {
- searcher.setSimilarity(new DefaultSimilarity()); // restore
+ searcher.setSimilarity(new ClassicSimilarity()); // restore
}
TopFieldCollector collector = TopFieldCollector.create(sort, 1000,
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanMinShouldMatch.java Fri Sep 18 15:13:49 2015
@@ -24,7 +24,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.StoredDocument;
import org.apache.lucene.index.Term;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.store.Directory;
import org.junit.AfterClass;
@@ -398,7 +398,7 @@ public class TestBooleanMinShouldMatch e
public void testRewriteCoord1() throws Exception {
final Similarity oldSimilarity = s.getSimilarity(true);
try {
- s.setSimilarity(new DefaultSimilarity() {
+ s.setSimilarity(new ClassicSimilarity() {
@Override
public float coord(int overlap, int maxOverlap) {
return overlap / ((float)maxOverlap + 1);
@@ -420,7 +420,7 @@ public class TestBooleanMinShouldMatch e
public void testRewriteNegate() throws Exception {
final Similarity oldSimilarity = s.getSimilarity(true);
try {
- s.setSimilarity(new DefaultSimilarity() {
+ s.setSimilarity(new ClassicSimilarity() {
@Override
public float coord(int overlap, int maxOverlap) {
return overlap / ((float)maxOverlap + 1);
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQuery.java Fri Sep 18 15:13:49 2015
@@ -44,7 +44,7 @@ import org.apache.lucene.index.RandomInd
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.BooleanTopLevelScorers.BoostedScorer;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.spans.SpanQuery;
import org.apache.lucene.search.spans.SpanTermQuery;
import org.apache.lucene.store.Directory;
@@ -95,7 +95,7 @@ public class TestBooleanQuery extends Lu
IndexSearcher s = newSearcher(r);
// this test relies upon coord being the default implementation,
// otherwise scores are different!
- s.setSimilarity(new DefaultSimilarity());
+ s.setSimilarity(new ClassicSimilarity());
BooleanQuery.Builder q = new BooleanQuery.Builder();
q.add(new TermQuery(new Term("field", "a")), BooleanClause.Occur.SHOULD);
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestBooleanQueryVisitSubscorers.java Fri Sep 18 15:13:49 2015
@@ -37,6 +37,7 @@ import org.apache.lucene.index.RandomInd
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause.Occur;
import org.apache.lucene.search.Scorer.ChildScorer;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
@@ -68,8 +69,11 @@ public class TestBooleanQueryVisitSubsco
writer.close();
// we do not use newSearcher because the assertingXXX layers break
// the toString representations we are relying on
+ // TODO: clean that up
searcher = new IndexSearcher(reader);
+ searcher.setSimilarity(new ClassicSimilarity());
scorerSearcher = new ScorerIndexSearcher(reader);
+ scorerSearcher.setSimilarity(new ClassicSimilarity());
}
@Override
Modified: lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java?rev=1703881&r1=1703880&r2=1703881&view=diff
==============================================================================
--- lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java (original)
+++ lucene/dev/branches/lucene6780/lucene/core/src/test/org/apache/lucene/search/TestComplexExplanations.java Fri Sep 18 15:13:49 2015
@@ -19,7 +19,7 @@ package org.apache.lucene.search;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause.Occur;
-import org.apache.lucene.search.similarities.DefaultSimilarity;
+import org.apache.lucene.search.similarities.ClassicSimilarity;
import org.apache.lucene.search.spans.*;
/**
@@ -46,8 +46,8 @@ public class TestComplexExplanations ext
}
// must be static for weight serialization tests
- private static DefaultSimilarity createQnorm1Similarity() {
- return new DefaultSimilarity() {
+ private static ClassicSimilarity createQnorm1Similarity() {
+ return new ClassicSimilarity() {
@Override
public float queryNorm(float sumOfSquaredWeights) {
return 1.0f; // / (float) Math.sqrt(1.0f + sumOfSquaredWeights);