[hibernate-commits] [hibernate/hibernate-search] fd8da6: HSEARCH-2527 Removed the unused type AnalyzerDefin...

GitHub noreply at github.com
Wed Jan 18 10:09:14 EST 2017


  Branch: refs/heads/master
  Home:   https://github.com/hibernate/hibernate-search
  Commit: fd8da6563a45822bddacdf225ea445d194684cb2
      https://github.com/hibernate/hibernate-search/commit/fd8da6563a45822bddacdf225ea445d194684cb2
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2017-01-18 (Wed, 18 Jan 2017)

  Changed paths:
    R engine/src/main/java/org/hibernate/search/indexes/spi/AnalyzerDefinitions.java

  Log Message:
  -----------
  HSEARCH-2527 Removed the unused type AnalyzerDefinitions


  Commit: 12c756054e764533480af9cfdcbc572e6335c3fc
      https://github.com/hibernate/hibernate-search/commit/12c756054e764533480af9cfdcbc572e6335c3fc
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2017-01-18 (Wed, 18 Jan 2017)

  Changed paths:
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ElasticsearchAnalyzerReference.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ElasticsearchAnalyzerStrategy.java
    A elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/NamedElasticsearchAnalyzerReference.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ScopedElasticsearchAnalyzer.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ScopedElasticsearchAnalyzerReference.java
    A elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/SimpleElasticsearchAnalyzerReference.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/settings/impl/model/IndexSettings.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/LuceneAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/LuceneEmbeddedAnalyzerStrategy.java
    A engine/src/main/java/org/hibernate/search/analyzer/impl/NamedLuceneAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/ScopedLuceneAnalyzer.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/ScopedLuceneAnalyzerReference.java
    A engine/src/main/java/org/hibernate/search/analyzer/impl/SimpleLuceneAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/spi/AnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/spi/AnalyzerStrategy.java
    A engine/src/main/java/org/hibernate/search/analyzer/spi/NamedAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/spi/ScopedAnalyzer.java
    M engine/src/main/java/org/hibernate/search/analyzer/spi/ScopedAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/backend/impl/lucene/works/AddWorkExecutor.java
    M engine/src/main/java/org/hibernate/search/engine/impl/AnalyzerReferenceRegistry.java
    M engine/src/main/java/org/hibernate/search/engine/metadata/impl/TypeMetadata.java
    M engine/src/main/java/org/hibernate/search/query/dsl/impl/ConnectedQueryContextBuilder.java

  Log Message:
  -----------
  HSEARCH-2527 Remove mix-ups between analyzers and analyzer references

1. Move the scoped analyzer builder from the analyzers to the
   references. That way, we can have lazy initialization on scoped
   analyzer references, which in turn allows us to avoid having analyzer
   references inside scoped analyzer.
2. Make it more clear that only *some* analyzer references have a name
   by introducing the NamedAnalyzerReference interface.
   Hopefully this will make it clearer that the analyzer reference name
   is not the same as the analyzer name:
     * when an analyzer reference has a name, its analyzer will
       consistency return that same name with getName(String)
     * *but* when the analyzer reference does not provide a name, it
       simply means that the analyzer name can only be queried at
       runtime (e.g. for scoped analyzers).


  Commit: 8a78ca003cf93807b9188fbd3d6c09de543fb53d
      https://github.com/hibernate/hibernate-search/commit/8a78ca003cf93807b9188fbd3d6c09de543fb53d
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2017-01-18 (Wed, 18 Jan 2017)

  Changed paths:
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ElasticsearchAnalyzerReference.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/NamedElasticsearchAnalyzerReference.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ScopedElasticsearchAnalyzerReference.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/SimpleElasticsearchAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/LuceneAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/NamedLuceneAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/RemoteAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/SimpleLuceneAnalyzerReference.java

  Log Message:
  -----------
  HSEARCH-2527 Make is/unwrap safer for subclasses of analyzer references

The former implementation was prone to bugs when new subclasses were
added and `is` wasn't overridden.


  Commit: 28c295b3b4548e35de5f4bf2860995b83ee5a091
      https://github.com/hibernate/hibernate-search/commit/28c295b3b4548e35de5f4bf2860995b83ee5a091
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2017-01-18 (Wed, 18 Jan 2017)

  Changed paths:
    M engine/src/main/java/org/hibernate/search/analyzer/spi/AnalyzerStrategy.java

  Log Message:
  -----------
  HSEARCH-2527 Remove an obsolete comment in AnalyzerStrategy's javadoc


  Commit: 8c6879de2355f9689b4a06ccb4d3d71014c975c0
      https://github.com/hibernate/hibernate-search/commit/8c6879de2355f9689b4a06ccb4d3d71014c975c0
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2017-01-18 (Wed, 18 Jan 2017)

  Changed paths:
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ElasticsearchAnalyzerStrategy.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/spi/ElasticsearchIndexManagerType.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/LuceneEmbeddedAnalyzerStrategy.java
    M engine/src/main/java/org/hibernate/search/analyzer/spi/AnalyzerStrategy.java
    M engine/src/main/java/org/hibernate/search/engine/impl/AnalyzerReferenceRegistry.java
    M engine/src/main/java/org/hibernate/search/engine/impl/AnnotationProcessingHelper.java
    M engine/src/main/java/org/hibernate/search/engine/impl/ConfigContext.java
    M engine/src/main/java/org/hibernate/search/engine/metadata/impl/TypeMetadata.java
    M engine/src/main/java/org/hibernate/search/indexes/spi/IndexManagerType.java
    M engine/src/main/java/org/hibernate/search/indexes/spi/LuceneEmbeddedIndexManagerType.java

  Log Message:
  -----------
  HSEARCH-2527 Make it possible for analyzer strategies to initialize *all* their references

... and not only the named ones.


  Commit: 7dad6dc9739e92ac78d19e41da498e271c38a6b0
      https://github.com/hibernate/hibernate-search/commit/7dad6dc9739e92ac78d19e41da498e271c38a6b0
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2017-01-18 (Wed, 18 Jan 2017)

  Changed paths:
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ElasticsearchAnalyzerStrategy.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ScopedElasticsearchAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/LuceneEmbeddedAnalyzerStrategy.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/ScopedLuceneAnalyzerReference.java

  Log Message:
  -----------
  HSEARCH-2527 Remove the need for synchronization in Scoped*AnalyzerReference.getAnalyzer()

We make sure the reference is either initialized at the end of the
search factory initialization (for references created during
bootstraping) or immediately when it's built (for references created
at runtime, when copying).


  Commit: 6ffa153e9f616e83a6c316d6c8973b54dc11a8ab
      https://github.com/hibernate/hibernate-search/commit/6ffa153e9f616e83a6c316d6c8973b54dc11a8ab
  Author: Yoann Rodière <yoann at hibernate.org>
  Date:   2017-01-18 (Wed, 18 Jan 2017)

  Changed paths:
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ScopedElasticsearchAnalyzer.java
    M elasticsearch/src/main/java/org/hibernate/search/elasticsearch/analyzer/impl/ScopedElasticsearchAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/ScopedLuceneAnalyzer.java
    M engine/src/main/java/org/hibernate/search/analyzer/impl/ScopedLuceneAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/analyzer/spi/ScopedAnalyzerReference.java
    M engine/src/main/java/org/hibernate/search/backend/impl/lucene/works/AddWorkExecutor.java
    M engine/src/main/java/org/hibernate/search/query/dsl/impl/ConnectedQueryContextBuilder.java

  Log Message:
  -----------
  HSEARCH-2527 Make Scoped*AnalyzerReferences drop the reference to their builder ASAP

This allows to have one less map in memory at runtime for each scoped
analyzer reference. Maybe not worth it, but at least it's cleaner...

To achieve that, we have to build copied scoped analyzer without the
original map of analyzer references by scope, which means the copy
builder becomes quite different from the initial builder, and that we
must retrieve the global analyzer and analyzers by scope from the
scoped analyzer.


Compare: https://github.com/hibernate/hibernate-search/compare/d72eb2206272...6ffa153e9f61


More information about the hibernate-commits mailing list