[hibernate-commits] [hibernate/hibernate-search] 0a37e2: HSEARCH-2271 Enable container bridge tests in ES

GitHub noreply at github.com
Fri Oct 14 12:04:26 EDT 2016


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-search
  Commit: 0a37e2fa3c197d14778f91af772307050f76c6fc
      https://github.com/hibernate/hibernate-search/commit/0a37e2fa3c197d14778f91af772307050f76c6fc
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2016-10-14 (Fri, 14 Oct 2016)

  Changed paths:
    M elasticsearch/pom.xml

  Log Message:
  -----------
  HSEARCH-2271 Enable container bridge tests in ES


  Commit: 477f2b449df6bfaf955c6b856a3a4687878a8b09
      https://github.com/hibernate/hibernate-search/commit/477f2b449df6bfaf955c6b856a3a4687878a8b09
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2016-10-14 (Fri, 14 Oct 2016)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/bridge/TwoWayFieldBridge.java

  Log Message:
  -----------
  HSEARCH-2271 Fix (Array|Iterable|Map) bridges with ES

ElasticsearchDateFieldBridge implements TwoWayFieldBridge, but not
StringBridge, and BuiltinArrayBridge et al. default to using toString()
in their objectToString implementation when the element field bridge
doesn't implement StringBridge. Thus DSL-built queries are broken.

Here we choose to solve the issue in a generic way and to make
TwoWayFieldBridge extend StringBridge (since it already offers all
the methods StringBridge offers), but simply making
ElasticsearchDateFieldBridge implement StringBridge may also have
done the trick.


  Commit: 44eb3d6a7a09001f3a2473510a61ab6b81222379
      https://github.com/hibernate/hibernate-search/commit/44eb3d6a7a09001f3a2473510a61ab6b81222379
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2016-10-14 (Fri, 14 Oct 2016)

  Changed paths:
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl/ElasticsearchIndexWorkVisitor.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl/ElasticsearchNestingContextFactoryProvider.java

  Log Message:
  -----------
  HSEARCH-2271 Improve ES nesting markers

Use a very specific string to avoid naming conflict with user-defined field names.
Also, use a constant to make it easier to know where the marker is
generated.


  Commit: d6310479eb0d5ef171a4ae28bef053a8278bbffd
      https://github.com/hibernate/hibernate-search/commit/d6310479eb0d5ef171a4ae28bef053a8278bbffd
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2016-10-14 (Fri, 14 Oct 2016)

  Changed paths:
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl/ElasticsearchIndexWorkVisitor.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/impl/ElasticsearchNestingContextFactoryProvider.java
    M engine/src/main/java/org/hibernate/search/engine/nesting/impl/NestingContext.java
    M engine/src/main/java/org/hibernate/search/engine/nesting/impl/NoOpNestingContext.java
    M engine/src/main/java/org/hibernate/search/engine/spi/DocumentBuilderIndexedEntity.java

  Log Message:
  -----------
  HSEARCH-2271 Fix null embedded container behavior in ES

Values replacing null embedded collections (those originating from
@IndexedEmbedded.indexNullAs) were being mixed-up with values
replacing null *elements* in bridged collections (originating from
@Field.indexNullAs).

This is solved by giving Elasticsearch enough information to distinguish
between those.


Compare: https://github.com/hibernate/hibernate-search/compare/a77b39f1735a...d6310479eb0d


More information about the hibernate-commits mailing list