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>&nbsp;<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)} &nbsp; = &nbsp;
+ *            {@link org.apache.lucene.search.similarities.ClassicSimilarity#tf(float) tf(t in d)} &nbsp; = &nbsp;
  *          </td>
  *          <td valign="top" align="center" rowspan="1">
  *               frequency<sup><big>&frac12;</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>&nbsp;<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)}&nbsp; = &nbsp;
+ *            {@link org.apache.lucene.search.similarities.ClassicSimilarity#idf(long, long) idf(t)}&nbsp; = &nbsp;
  *          </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>&nbsp;<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)  &nbsp; = &nbsp;
- *            {@link org.apache.lucene.search.similarities.DefaultSimilarity#queryNorm(float) queryNorm(sumOfSquaredWeights)}
+ *            {@link org.apache.lucene.search.similarities.ClassicSimilarity#queryNorm(float) queryNorm(sumOfSquaredWeights)}
  *            &nbsp; = &nbsp;
  *          </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 &mdash; 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);