[hibernate-commits] [hibernate/hibernate-search] 2cc361: HSEARCH-3103 Resolve Sorting MultiValues Problem

Yoann Rodière noreply at github.com
Thu Mar 19 06:22:00 EDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-search
  Commit: 2cc36189c5925712865baa612a21d96eea4d2568
      https://github.com/hibernate/hibernate-search/commit/2cc36189c5925712865baa612a21d96eea4d2568
  Author: Waldemar Kłaczyński <wklaczynski at sabaservice.pl>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/ElasticsearchRangeAggregation.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/ElasticsearchTermsAggregation.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/AbstractElasticsearchSearchSortBuilder.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesSource.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesSource.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/MultiValueMode.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/NumericDoubleValues.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SingleFloatValues.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SortableLongBitsToNumericDoubleValues.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SortedNumericDoubleValues.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/query/impl/ESToParentBlockJoinQuery.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/aggregation/impl/AggregationRequestContext.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/aggregation/impl/LuceneSearchAggregationBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNestedPredicateBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchQueryBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/sort/impl/AbstractLuceneSearchSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/AbstractLuceneBucketAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/AbstractLuceneFacetsBasedTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneBooleanFieldAggregationBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneFieldAggregationBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneGeoPointFieldAggregationBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericFieldAggregationBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericRangeAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneTextFieldAggregationBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneTextTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/codec/impl/AbstractLuceneNumericFieldCodec.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneDoubleDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneFloatDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneIntegerDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneLongDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneNumericDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/comparatorsource/impl/LuceneNumericFieldComparatorSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneStandardFieldSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneNumericFieldSortBuilder.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/RangeAggregationOptionsStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/TermsAggregationOptionsStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/impl/RangeAggregationRangeStepImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/impl/TermsAggregationOptionsStepImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/spi/RangeAggregationBuilder.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/spi/TermsAggregationBuilder.java
    A engine/src/main/java/org/hibernate/search/engine/search/common/MultiValue.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/FieldSortOptionsStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/impl/FieldSortOptionsStepImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/spi/SearchSortBuilder.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/aggregation/impl/StubRangeAggregationBuilder.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/aggregation/impl/StubTermsAggregationBuilder.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/sort/StubSortBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Resolve Sorting MultiValues Problem


  Commit: 3c3836e893ffd4f56fa64bf156873eef3b4bbc43
      https://github.com/hibernate/hibernate-search/commit/3c3836e893ffd4f56fa64bf156873eef3b4bbc43
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/ElasticsearchRangeAggregation.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/aggregation/impl/ElasticsearchTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/AbstractLuceneBucketAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/AbstractLuceneFacetsBasedTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericRangeAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneDoubleDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneFloatDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneIntegerDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneLongDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneNumericDomain.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/RangeAggregationOptionsStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/TermsAggregationOptionsStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/impl/RangeAggregationRangeStepImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/dsl/impl/TermsAggregationOptionsStepImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/spi/RangeAggregationBuilder.java
    M engine/src/main/java/org/hibernate/search/engine/search/aggregation/spi/TermsAggregationBuilder.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/aggregation/impl/StubRangeAggregationBuilder.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/aggregation/impl/StubTermsAggregationBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Remove the ability to configure multivalue mode for aggregations

We'll handle that in another issue, if necessary, but currently:

* It's not the purpose of this ticket (it's sorts)
* It just doesn't work (all tests fail)
* It's not implemented for Elasticsearch, and I'm not even sure it can
  be


  Commit: 74bbfa25937bbccc1630980536c0794ea3f86a29
      https://github.com/hibernate/hibernate-search/commit/74bbfa25937bbccc1630980536c0794ea3f86a29
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/AbstractElasticsearchSearchSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/sort/impl/AbstractLuceneSearchSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/AbstractLuceneBucketAggregation.java
    R engine/src/main/java/org/hibernate/search/engine/search/common/MultiValue.java
    A engine/src/main/java/org/hibernate/search/engine/search/common/SortMode.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/FieldSortOptionsStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/impl/FieldSortOptionsStepImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/spi/SearchSortBuilder.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/sort/StubSortBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Rename MultiValue to SortMode

Since we always pass it to methods expecting a "mode", it would be weird
for this class to not even mention the term "mode".
Also, it's only used in sorts, and if we even introduce a similar
setting for aggregations, we should use a different enum because the
values we accept may be different (in particular, we may accept "NONE").


  Commit: dfd5ff96f600b7135f003c5b4d1f1ee94eef87f7
      https://github.com/hibernate/hibernate-search/commit/dfd5ff96f600b7135f003c5b4d1f1ee94eef87f7
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/engine/search/common/SortMode.java

  Log Message:
  -----------
  HSEARCH-3103 Add some javadoc to SortMode


  Commit: 00dc8c610d394047f22d7627943042c5cc3d0588
      https://github.com/hibernate/hibernate-search/commit/00dc8c610d394047f22d7627943042c5cc3d0588
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/AbstractElasticsearchSearchSortBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/ElasticsearchFieldSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/sort/impl/AbstractLuceneSearchSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneStandardFieldSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneNumericFieldSortBuilder.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/spi/FieldSortBuilder.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/spi/SearchSortBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Move the sort mode to *field* sort builders only

It doesn't make sense for other sorts (score, ...).
It may make sense for distance sorts, but that's not implemented yet.


  Commit: fda212061f90d28693222e7396ff2ac79ef1dde8
      https://github.com/hibernate/hibernate-search/commit/fda212061f90d28693222e7396ff2ac79ef1dde8
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesSource.java

  Log Message:
  -----------
  HSEARCH-3103 Remove unused factory methods from DoubleMultiValuesSource and LongMultiValuesSource


  Commit: d8da9267fc6f995551e521b9ce8f02c8f90193a1
      https://github.com/hibernate/hibernate-search/commit/d8da9267fc6f995551e521b9ce8f02c8f90193a1
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesSource.java

  Log Message:
  -----------
  HSEARCH-3103 Move factory methods from DoubleMultiValuesSource and LongMultiValuesSource to the right position

I.e. the top.


  Commit: 192f644cec6770400b7a21af6b0a75bdb8e4a0a4
      https://github.com/hibernate/hibernate-search/commit/192f644cec6770400b7a21af6b0a75bdb8e4a0a4
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesSource.java

  Log Message:
  -----------
  HSEARCH-3103 Fix inheritance in DoubleMultiValuesSource and LongMultiValuesSource

1. Some fields, such as "field", have nothing to do in the base class.
2. Some fields and methods, such as "nestedDocsProvider" or getValues(),
are all this class is about and should be in the base class, not in some
subclass.


  Commit: 305add7f3c3a3828a2baff1ae9a0a255f7050e5e
      https://github.com/hibernate/hibernate-search/commit/305add7f3c3a3828a2baff1ae9a0a255f7050e5e
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesSource.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesSource.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneDoubleDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneFloatDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneIntegerDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneLongDomain.java

  Log Message:
  -----------
  HSEARCH-3103 Clarify what DoubleMultiValuesSource and LongMultiValuesSource do


  Commit: 95777b95fd10b3bd9037e5f2a8114ea46e8142ab
      https://github.com/hibernate/hibernate-search/commit/95777b95fd10b3bd9037e5f2a8114ea46e8142ab
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DocValuesUtils.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesToSingleValuesSource.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/join/impl/JoinFirstChildIdIterator.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneDoubleDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneFloatDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneIntegerDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneLongDomain.java

  Log Message:
  -----------
  HSEARCH-3103 Remove an unnecessary hack using scores in DoubleMultiValuesSource and LongMultiValuesSource

1. The scores are not meant to pass default values.
2. This hack didn't work and we ended up not sorting at all, for some
   reason.
3. We don't even need default values here, since the field comparators
   already take care of that.


  Commit: 43a419fbdf379c8f4ee0afbb7be7d50ab1d3d1a7
      https://github.com/hibernate/hibernate-search/commit/43a419fbdf379c8f4ee0afbb7be7d50ab1d3d1a7
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/aggregation/impl/AggregationExtractContext.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/aggregation/impl/AggregationRequestContext.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchQueryBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/query/impl/LuceneSearchQueryExtractContext.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/AbstractLuceneFacetsBasedTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericRangeAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneTextTermsAggregation.java

  Log Message:
  -----------
  HSEARCH-3103 Replace a mutable field with a local variable in Lucene aggregations

This mutable field shouldn't have been added to begin with.


  Commit: a15aa56576b303a7eaaea34ad648715ceeb7945f
      https://github.com/hibernate/hibernate-search/commit/a15aa56576b303a7eaaea34ad648715ceeb7945f
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericTermsAggregation.java

  Log Message:
  -----------
  HSEARCH-3103 Convert numeric terms aggregations to SortedNumericDocValues

Since we now use SortedNumericDocValues for numeric fields.
Without this, some tests fail, in particular
TermsAggregationSpecificsIT#minDocumentCount_zero.


  Commit: 6447651d5bca1476cf2a06aae9a18a4520371404
      https://github.com/hibernate/hibernate-search/commit/6447651d5bca1476cf2a06aae9a18a4520371404
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/codec/impl/AbstractLuceneNumericFieldCodec.java

  Log Message:
  -----------
  HSEARCH-3103 Remove duplicated code in AbstractLuceneNumericFieldCodec


  Commit: 2a06efcfed0c4df52ef83cf1bf9e23b86c4fb51a
      https://github.com/hibernate/hibernate-search/commit/2a06efcfed0c4df52ef83cf1bf9e23b86c4fb51a
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M documentation/src/test/java/org/hibernate/search/documentation/search/sort/SortDslIT.java

  Log Message:
  -----------
  HSEARCH-3103 Fix SortDslIT

Now that we use SortedNumericDocValues, the native sort types expecting
"single-valued" docvalues such as INT won't work anymore.


  Commit: 7b4592e8e78aa55ed83f9c5166ce3855e693cc56
      https://github.com/hibernate/hibernate-search/commit/7b4592e8e78aa55ed83f9c5166ce3855e693cc56
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/logging/impl/Log.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/AbstractElasticsearchSearchNestedSortBuilder.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/ElasticsearchFieldSortBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/dsl/impl/AbstractElasticsearchScalarFieldTypeOptionsStep.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/dsl/impl/AbstractElasticsearchTemporalIndexFieldTypeOptionsStep.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/dsl/impl/ElasticsearchStringIndexFieldTypeOptionsStep.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchStandardFieldSortBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchStandardFieldSortBuilderFactory.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchTemporalFieldSortBuilder.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchTemporalFieldSortBuilderFactory.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchTextFieldSortBuilder.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchTextFieldSortBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/logging/impl/Log.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/AbstractLuceneNumericIndexFieldTypeOptionsStep.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/AbstractLuceneTemporalIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneInstantIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneLocalDateIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneLocalDateTimeIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneLocalTimeIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneMonthDayIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneOffsetDateTimeIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneOffsetTimeIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneYearIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneYearMonthIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/dsl/impl/LuceneZonedDateTimeIndexFieldTypeOptionsStep.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneStandardFieldSortBuilder.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneTemporalFieldSortBuilder.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneTemporalFieldSortBuilderFactory.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneTextFieldSortBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Add proper error messages for unsupported multi-valued sorts


  Commit: 28bfe79587d758080de39e13ed0085cfbfd9762a
      https://github.com/hibernate/hibernate-search/commit/28bfe79587d758080de39e13ed0085cfbfd9762a
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/MultiValueMode.java

  Log Message:
  -----------
  HSEARCH-3103 Remove dead code in MultiValueMode


  Commit: 130f8dc24247e4897def4e2a80dc0e85b979e888
      https://github.com/hibernate/hibernate-search/commit/130f8dc24247e4897def4e2a80dc0e85b979e888
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneDoubleDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneFloatDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneIntegerDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneLongDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneNumericDomain.java

  Log Message:
  -----------
  HSEARCH-3103 Remove non-sorted docvalues for numeric types

Internally, sorted numeric docvalues (ordinal + indirection) are
stored as non-sorted numeric docvalues (direct value, no ordinal) when
there is only one value per document in a given segment.
Thus sorted numeric docvalues can safely be used without suffering
from a performance hit.


  Commit: 0e90a455eefa5f9b99670d61d0e431133124abdd
      https://github.com/hibernate/hibernate-search/commit/0e90a455eefa5f9b99670d61d0e431133124abdd
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/TextMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/codec/impl/LuceneStringFieldCodec.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/comparatorsource/impl/LuceneTextFieldComparatorSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneStandardFieldSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneNumericFieldSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneTextFieldSortBuilder.java
    M documentation/src/test/java/org/hibernate/search/documentation/search/sort/SortDslIT.java
    M integrationtest/backend/lucene/src/test/java/org/hibernate/search/integrationtest/backend/lucene/LuceneExtensionIT.java

  Log Message:
  -----------
  HSEARCH-3103 Implement sort on multi-valued text fields


  Commit: 03929ff2dfd4673dd67d74d7c0c042115ac25590
      https://github.com/hibernate/hibernate-search/commit/03929ff2dfd4673dd67d74d7c0c042115ac25590
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/aggregation/impl/LuceneNumericTermsAggregation.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/codec/impl/AbstractLuceneNumericFieldCodec.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneDoubleDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneFloatDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneIntegerDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneLongDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneNumericDomain.java

  Log Message:
  -----------
  HSEARCH-3103 Fix SortMode.MIN/MAX returning wrong values in some cases

The double/floats were being encoded as longs that have a different sort
order than the double/floats, resulting in some assumptions not holding
anymore.


  Commit: f7213d6609c2fd466f9a5622c10c0cc6f693070e
      https://github.com/hibernate/hibernate-search/commit/f7213d6609c2fd466f9a5622c10c0cc6f693070e
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/RangeAggregationSpecificsIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/aggregation/TermsAggregationSpecificsIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortTypeCheckingAndConversionIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/operations/RangeAggregationDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/operations/TermsAggregationDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/AnalyzedStringFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/BigDecimalFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/BigIntegerFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/BooleanFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/ByteFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/DoubleFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/FieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/FloatFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/GeoPointFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/InstantFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/IntegerFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/KeywordStringFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/LocalDateFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/LocalDateTimeFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/LocalTimeFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/LongFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/MonthDayFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/NormalizedStringFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/OffsetDateTimeFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/OffsetTimeFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/ShortFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/YearFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/YearMonthFieldTypeDescriptor.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/ZonedDateTimeFieldTypeDescriptor.java
    A integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/types/values/AscendingUniqueTermValues.java

  Log Message:
  -----------
  HSEARCH-3103 Add more datasets to test multi-valued sorts


  Commit: 0e5600270086a35912594b189420ad0f39210a7c
      https://github.com/hibernate/hibernate-search/commit/0e5600270086a35912594b189420ad0f39210a7c
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/SimpleFieldModelsByType.java

  Log Message:
  -----------
  HSEARCH-3103 Test sorts on multi-valued fields


  Commit: e1231379d32471073c040e16147d7e4c14e1fc54
      https://github.com/hibernate/hibernate-search/commit/e1231379d32471073c040e16147d7e4c14e1fc54
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/collector/impl/GeoPointDistanceCollector.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DocValuesJoin.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/GeoPointDistanceDocValues.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/GeoPointDistanceMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/NumericDoubleValues.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SingletonNumericDoubleDocValues.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SingletonSortedNumericDoubleValues.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SortedNumericDoubleDocValues.java
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SortedNumericDoubleValues.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneDoubleDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/lowlevel/impl/LuceneFloatDomain.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/comparatorsource/impl/LuceneGeoPointDistanceComparatorSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneGeoPointDistanceSortBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Make use of NumericDoubleValues/SortedNumericDoubleDocValues in the multi-value doc values implementations

1. Because it simplifies DoubleMultiValuesToSingleValuesSource
2. Because it allows us to get rid of dead code (DocValuesJoin)
3. Because it allows us to use a single solution for all numeric sorts
4. Because it opens the way to implementing multi-valued distance sorts


  Commit: 855f24f48957559503e742d4c33cf02c7ef28cf3
      https://github.com/hibernate/hibernate-search/commit/855f24f48957559503e742d4c33cf02c7ef28cf3
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/logging/impl/Log.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/AbstractElasticsearchSearchNestedSortBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/AbstractElasticsearchSearchSortBuilder.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/ElasticsearchDistanceSortBuilder.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/AbstractElasticsearchDocumentValueSortBuilder.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchDistanceSortBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchGeoPointFieldSortBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/sort/impl/ElasticsearchStandardFieldSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/logging/impl/Log.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/GeoPointDistanceDocValues.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/comparatorsource/impl/LuceneGeoPointDistanceComparatorSource.java
    A backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneDocumentValueSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneStandardFieldSortBuilder.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/LuceneGeoPointDistanceSortBuilder.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/DistanceSortOptionsStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/FieldSortOptionsStep.java
    A engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/SortModeStep.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/dsl/impl/DistanceSortOptionsStepImpl.java
    M engine/src/main/java/org/hibernate/search/engine/search/sort/spi/DistanceSortBuilder.java
    M util/internal/integrationtest/common/src/main/java/org/hibernate/search/util/impl/integrationtest/common/stub/backend/search/sort/StubSortBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Support setting a sort mode for distance sorts on multi-valued fields


  Commit: 4187ab351c731bd3cb901a7682418ee7b196dd49
      https://github.com/hibernate/hibernate-search/commit/4187ab351c731bd3cb901a7682418ee7b196dd49
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/DistanceSearchSortBaseIT.java

  Log Message:
  -----------
  HSEARCH-3103 Test distance sort on multi-valued fields


  Commit: eee28388583b6d456ca5d818de379594396af3bf
      https://github.com/hibernate/hibernate-search/commit/eee28388583b6d456ca5d818de379594396af3bf
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/types/sort/impl/AbstractLuceneDocumentValueSortBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Set the default sort mode in Lucene according to the sort order


  Commit: 11c07b05e73035c3d857f4a67015006e3c7a465b
      https://github.com/hibernate/hibernate-search/commit/11c07b05e73035c3d857f4a67015006e3c7a465b
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/DistanceSearchSortBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortBaseIT.java
    A integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/IndexFieldValueCardinality.java

  Log Message:
  -----------
  HSEARCH-3103 Test all sort modes, including the default, with both single-valued and multi-valued fields


  Commit: 2c051a3196428ab908c6a9cacd33e9b49ae840ce
      https://github.com/hibernate/hibernate-search/commit/2c051a3196428ab908c6a9cacd33e9b49ae840ce
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M documentation/src/main/asciidoc/search-dsl-sort.asciidoc
    M documentation/src/test/java/org/hibernate/search/documentation/search/sort/SortDslIT.java

  Log Message:
  -----------
  HSEARCH-3103 Complete the documentation of the field/distance sorts


  Commit: ec340f19f0a0126cf66555bce456c3de751ca309
      https://github.com/hibernate/hibernate-search/commit/ec340f19f0a0126cf66555bce456c3de751ca309
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M documentation/src/main/asciidoc/search-dsl-sort.asciidoc
    M documentation/src/test/java/org/hibernate/search/documentation/search/sort/Author.java
    M documentation/src/test/java/org/hibernate/search/documentation/search/sort/Book.java
    M documentation/src/test/java/org/hibernate/search/documentation/search/sort/SortDslIT.java

  Log Message:
  -----------
  HSEARCH-3103 Document the sort mode


  Commit: 7674f3a6f3cd2304e005e748c20071158168933d
      https://github.com/hibernate/hibernate-search/commit/7674f3a6f3cd2304e005e748c20071158168933d
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    R backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/query/impl/ESToParentBlockJoinQuery.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/search/predicate/impl/LuceneNestedPredicateBuilder.java

  Log Message:
  -----------
  HSEARCH-3103 Revert the introduction of an unnecessary wrapper for ToParentBlockJoinQuery

The wrapper doesn't do anything useful, at least in the current state of
the code.


  Commit: 7faa49e3a12235874cb0e97226d29fb73e88e102
      https://github.com/hibernate/hibernate-search/commit/7faa49e3a12235874cb0e97226d29fb73e88e102
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/TextMultiValuesToSingleValuesSource.java

  Log Message:
  -----------
  HSEARCH-3103 Sonar: Remove unused method parameters


  Commit: 51adfcbfc8c2742f03eae09712c049169b015602
      https://github.com/hibernate/hibernate-search/commit/51adfcbfc8c2742f03eae09712c049169b015602
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesToSingleValuesSource.java

  Log Message:
  -----------
  HSEARCH-3103 Sonar: "throws" declarations should not be superfluous


  Commit: 69ae6a13dd5db7485de58bfdb7332b8c23e12bca
      https://github.com/hibernate/hibernate-search/commit/69ae6a13dd5db7485de58bfdb7332b8c23e12bca
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/NumericDoubleValues.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/SortedNumericDoubleDocValues.java

  Log Message:
  -----------
  HSEARCH-3103 Sonar: Parentheses should be removed from a single lambda input parameter when its type is inferred


  Commit: b102e594b7e0c883a4d0ee1bb36b480adb58ec5f
      https://github.com/hibernate/hibernate-search/commit/b102e594b7e0c883a4d0ee1bb36b480adb58ec5f
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/TextMultiValuesToSingleValuesSource.java

  Log Message:
  -----------
  HSEARCH-3103 Mention in comments that some of the code in multi-values values sources was copied from Elasticsearch


  Commit: 01402bd38e6065d15a5963bbd7384284d7d2f745
      https://github.com/hibernate/hibernate-search/commit/01402bd38e6065d15a5963bbd7384284d7d2f745
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/DoubleMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/LongMultiValuesToSingleValuesSource.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/MultiValueMode.java
    M backend/lucene/src/main/java/org/hibernate/search/backend/lucene/lowlevel/docvalues/impl/TextMultiValuesToSingleValuesSource.java

  Log Message:
  -----------
  HSEARCH-3103 Sonar: Nested code blocks should not be used / Cognitive Complexity of methods should not be too high


  Commit: b49a5868057ee65b80505b5b023f0428fd4d90a3
      https://github.com/hibernate/hibernate-search/commit/b49a5868057ee65b80505b5b023f0428fd4d90a3
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2020-03-19 (Thu, 19 Mar 2020)

  Changed paths:
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/util/ElasticsearchTckBackendFeatures.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/util/ElasticsearchTckTestRunner.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/search/sort/FieldSearchSortBaseIT.java
    M integrationtest/backend/tck/src/main/java/org/hibernate/search/integrationtest/backend/tck/testsupport/util/TckBackendFeatures.java
    M util/internal/integrationtest/backend/elasticsearch/src/main/java/org/hibernate/search/util/impl/integrationtest/backend/elasticsearch/dialect/Elasticsearch5TestDialect.java
    M util/internal/integrationtest/backend/elasticsearch/src/main/java/org/hibernate/search/util/impl/integrationtest/backend/elasticsearch/dialect/ElasticsearchTestDialect.java

  Log Message:
  -----------
  HSEARCH-3103 Disable sort tests in a very specific case for ES 5.6

For some reason, ES 5.6 seems to evaluate the max to 0 when a nested document
has a field with only negative floating-point values.
This causes problems in our tests relative to field sorts
because it brings a max from -42 to 0, which changes the relative order of documents.
This is most likely a bug, though I couldn't find the bug report or fix,
and it is fixed in ES 6.x.
Since 5.6 is really old and EOL'd anyway, it's unlikely to ever get a fix.
We'll just ignore tests that fail because of this.


Compare: https://github.com/hibernate/hibernate-search/compare/477a1db0a0cf...b49a5868057e



More information about the hibernate-commits mailing list