[hibernate-commits] [hibernate/hibernate-search] a53065: HSEARCH-3054 Remove any trace of dialect where it ...

Yoann Rodière noreply at github.com
Wed Feb 6 04:36:59 EST 2019


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-search
  Commit: a5306586a51bf471640fa6e25f845a7ec9ed3682
      https://github.com/hibernate/hibernate-search/commit/a5306586a51bf471640fa6e25f845a7ec9ed3682
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-02-06 (Wed, 06 Feb 2019)

  Changed paths:
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/impl/esnative/FieldDataType.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/impl/esnative/IndexType.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/impl/esnative/NormsType.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/impl/esnative/PropertyMapping.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/document/model/impl/esnative/PropertyMappingJsonAdapterFactory.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/gson/impl/ES5FieldDataTypeJsonAdapter.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/gson/impl/ES5IndexTypeJsonAdapter.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/gson/impl/ES5NormsTypeJsonAdapter.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/admin/impl/ElasticsearchSchemaValidatorImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/multitenancy/impl/DiscriminatorMultiTenancyStrategy.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/dsl/impl/AbstractElasticsearchScalarFieldTypeContext.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/types/dsl/impl/ElasticsearchStringIndexFieldTypeContext.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/management/ElasticsearchSchemaValidationIT.java

  Log Message:
  -----------
  HSEARCH-3054 Remove any trace of dialect where it is no longer relevant (because we dropped ES2 support)


  Commit: 59aa2beb8ac2c405bde3acff6582bd41a816e38b
      https://github.com/hibernate/hibernate-search/commit/59aa2beb8ac2c405bde3acff6582bd41a816e38b
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-02-06 (Wed, 06 Feb 2019)

  Changed paths:
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/dialect/impl/ElasticsearchDialect.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/dialect/impl/ElasticsearchDialectFactory.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/dialect/impl/es56/Elasticsearch56Dialect.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/dialect/impl/es6/Elasticsearch6Dialect.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/impl/ElasticsearchBackendFactory.java
    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/predicate/impl/ElasticsearchSearchPredicateBuilderFactoryImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/search/sort/impl/ElasticsearchSearchSortBuilderFactoryImpl.java
    A backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/builder/factory/impl/Elasticsearch6WorkBuilderFactory.java
    R backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/builder/factory/impl/ElasticsearchWorkBuilderFactoryImpl.java
    A backend/elasticsearch/src/test/java/org/hibernate/search/backend/elasticsearch/dialect/impl/ElasticsearchDialectFactoryTest.java

  Log Message:
  -----------
  HSEARCH-3054 Restore the concept of Elasticsearch dialect from Search 5

For now it is useless, but we will have a use for it eventually.


  Commit: 1eea8c6cfe0a50211ba1b43ae5c71ca85a8903c1
      https://github.com/hibernate/hibernate-search/commit/1eea8c6cfe0a50211ba1b43ae5c71ca85a8903c1
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-02-06 (Wed, 06 Feb 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/builder/factory/impl/Elasticsearch6WorkBuilderFactory.java

  Log Message:
  -----------
  HSEARCH-3054 Fix some raw types in Elasticsearch6WorkBuilderFactoryImpl


  Commit: 02f3ee5fba12dbfb696d654aeec8279dde992fea
      https://github.com/hibernate/hibernate-search/commit/02f3ee5fba12dbfb696d654aeec8279dde992fea
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-02-06 (Wed, 06 Feb 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/admin/impl/ElasticsearchSchemaAccessor.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/admin/impl/ElasticsearchSchemaCreatorImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/admin/impl/ElasticsearchSchemaMigratorImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/admin/impl/ElasticsearchSchemaValidatorImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/admin/impl/ElasticsearchValidationMessages.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/admin/impl/IndexMetadata.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexDocumentWorkExecutor.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexManagerImpl.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/ElasticsearchIndexWorkPlan.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/index/impl/IndexingBackendContext.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/builder/factory/impl/Elasticsearch6WorkBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/builder/factory/impl/ElasticsearchWorkBuilderFactory.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/builder/impl/CreateIndexWorkBuilder.java
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/impl/CreateIndexWork.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/management/ElasticsearchSchemaValidationIT.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/testsupport/util/TestElasticsearchClient.java
    M integrationtest/backend/elasticsearch/src/test/java/org/hibernate/search/integrationtest/backend/elasticsearch/work/ElasticsearchIndexingIT.java

  Log Message:
  -----------
  HSEARCH-3080 Set the type name at the backend (work factory) level instead of the index level

Because we know it will be removed eventually:
https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html#_schedule_for_removal_of_mapping_types


  Commit: 64a5754a5404337fb9a59fdb21e5c80340644e12
      https://github.com/hibernate/hibernate-search/commit/64a5754a5404337fb9a59fdb21e5c80340644e12
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2019-02-06 (Wed, 06 Feb 2019)

  Changed paths:
    M backend/elasticsearch/src/main/java/org/hibernate/search/backend/elasticsearch/work/builder/factory/impl/Elasticsearch6WorkBuilderFactory.java

  Log Message:
  -----------
  HSEARCH-3080 Use "doc" as type mapping name in ES5 and ES6

Facts:

1. We cannot start a type name with an underscore in ES5.6.
2. In ES7 and above, we will be able to use "_doc" instead of the type
name, and it will work irrespective of the actual type name.
3. In ES7, using a type name in APIs will be deprecated, and in ES9 it
will not be possible anymore.

We want user migration from 5.6 to 6, then 6 to 7 to be as painless as
possible:

1. If they have external code manipulating the indexes (triggering
searches through the REST APIs, for example), this code should require
as little change as possible when they upgrade.
2. If possible, they should not have to reindex when they upgrade.

Using "_doc" as the type name everywhere would give us a consistent
behavior for all versions of Elasticsearch, but it is not possible,
because 5.6 does not allow such name.

If we use "doc" in ES5/6, then "_doc" in ES7+:

* In ES5, users will be able to send requests natively (using a REST
client) with the "doc" type name.
* When migrating from ES5 to ES6, the type name will not change.
* In ES6, users will still be able to send requests natively with
the "doc" type name.
* When migrating from ES6 to ES7, the type name will not change.
* In ES7, users will still be able to send requests natively with
the "doc" type name. Additionally, they will be able to send
requests using "_doc" instead of "doc".
* When migrating from ES7 to ES8, the type name will not change.
* In ES8, users will still be able to send requests natively with
the "doc" type name *if* they add the request parameter
"?include_type_name=false". Additionally, they will be able to send
requests using "_doc" instead of "doc".
* When migrating from ES8 to ES9, the type name will be removed
completely.
* In ES9, users will have to send native requests using "_doc"
instead of "doc".


Compare: https://github.com/hibernate/hibernate-search/compare/9cfb1e4b2605...64a5754a5404



More information about the hibernate-commits mailing list