Warning -Invalid configuration passed to Hibernate Search?

we have correctly configured hibernate search 6 specific properties in our configuration file but still we are getting below warning message at server start up. Not sure if something is missed here.

`WARN: HSEARCH000568: Invalid configuration passed to Hibernate Search: some properties in the given configuration are not used. There might be misspelled property keys in your configuration. Unused properties: [hibernate.search.backend.analysis.configurer, hibernate.search.backend.aws.credentials.access_key_id, hibernate.search.backend.schema_management.minimal_required_status, hibernate.search.backend.aws.region, hibernate.search.backend.type, hibernate.search.backend.aws.credentials.type, hibernate.search.backend.aws.credentials.secret_access_key, hibernate.search.backend.uris, hibernate.search.backend.dynamic_mapping, hibernate.search.backend.aws.signing.enabled]. To disable this warning, set the property ‘hibernate.search.configuration_property_checking.strategy’ to ‘ignore’.

Had the same warning message, any property for Hibernate Search after backend keyword didn’t work, while other Hibernate Search properties worked fine. And after long search I find out that I am using wrong JPA version, downgrading Spring Boot version solved my issue (works with 2.6.11) so Spring Boot application can read properties (username and password in my case) and connect to Elasticsearch. After I Indexed some entities, the warning was also gone.

Check Hibernate Search Compatibility Table

FWIW, I’m a bit surprised that downgrading Spring Boot would help, since Hibernate Search targets the latest version of JPA/Hibernate ORM that Spring Boot 2.x can possibly support (being stuck Java EE). And I recently upgraded a Hibernate Search demo to Spring Boot 2.7, so I know that it works fine: hsearch-elasticsearch-wikipedia: Upgrade to Spring Boot 2.7 / JUnit 5 by yrodiere · Pull Request #54 · hibernate/hibernate-demos · GitHub

The most likely reasons for .backend properties be ignored that way (and only those) is if:

  • You don’t have any indexed entity (no JPA entity class annotated with @Indexed), and therefore no backend is created.
  • OR you’re using a Lucene backend while providing properties for the Elasticsearch backend, or vice-versa.
  • OR you’re assigning all your entities to a named backend (@Indexed(backend = "someName")) but are setting the properties on the default (unnamed) backend (hibernate.search.backend.hosts = localhost:9200) instead of using the specific syntax for your named backend (hibernate.search.backends.someName.hosts = localhost:9200).

But for a downgrade to Spring Boot 2.6 to solve that… That’s surprising, to say the least.