Hibernate Search 7.2 custom analyzer not being considered

Using:
Hibernate Search 7.2.2
OpenSearch 2.15
Spring Boot 3.3.4

I have no idea why the custom analyzer is not being taken into consideration, as in my opinion the configuration in my code looks fine.
P.S: index does not exist; I want it created once the app starts (just the first time) so I kind of want my index settings to be performed when the app starts instead of doing it “manually” before.

Anyone has any idea?

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.hibernate.search</groupId>
                <artifactId>hibernate-search-bom</artifactId>
                <version>7.2.2.Final</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

        <dependency>
            <groupId>org.hibernate.orm</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>6.6.4.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-engine</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-backend-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate.search</groupId>
            <artifactId>hibernate-search-mapper-orm</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
            <version>3.6.0.Final</version>
        </dependency>

import org.hibernate.search.backend.elasticsearch.analysis.ElasticsearchAnalysisConfigurationContext;
import org.hibernate.search.backend.elasticsearch.analysis.ElasticsearchAnalysisConfigurer;

public class CustomAnalysisConfigurer implements ElasticsearchAnalysisConfigurer {

    private static final String CUSTOM_MAPPING = "custom_mapping";
    private static final String STREET_ANALYZER = "street_analyzer";
    private static final String KEYWORD_NORMALIZER = "custom_normalizer";
    private static final String PHONE_NUMBER_CLEANER = "phone_number_cleaner";
    private static final String PHONE_NUMBER_NORMALIZER = "phone_number_normalizer";


    @Override
    public void configure(ElasticsearchAnalysisConfigurationContext context) {
        List<String> mappings = loadMappingsFromFile();

        context.tokenFilter(CUSTOM_MAPPING)
                .type("mapping")
                .param("mappings", mappings.toArray(new String[0]));

        context.analyzer(STREET_ANALYZER)
                .custom()
                .tokenizer("standard")
                .tokenFilters(
                        "lowercase",        // Convert to lowercase
                        "trim",                     // Remove leading/trailing whitespace
                        "stop",                     // Optional: remove common words if needed
                        CUSTOM_MAPPING
                );

        // Define a normalizer for KeywordFields
        context.normalizer(KEYWORD_NORMALIZER).custom()
                .tokenFilters(
                        "lowercase",
                        CUSTOM_MAPPING
                );

        context.tokenFilter(PHONE_NUMBER_CLEANER)
                .type("pattern_replace")
                .param("pattern", "[^0-9]")
                .param("replacement", "");

        context.normalizer(PHONE_NUMBER_NORMALIZER)
                .custom()
                .tokenFilters(
                        PHONE_NUMBER_CLEANER,
                        "trim"
                );
    }

props:


  jpa:
    properties:
      hibernate:
        ddl-auto: create
        search:
          backend:
            type: elasticsearch
            hosts: http://localhost:9200
            index_management:
              strategy: create
            analysis:
              configurer: com.package.CustomAnalysisConfigurer
        show-sql: true

used like this:

    @FullTextField(
            name = "street",
            analyzer = "street_analyzer",
            projectable = Projectable.YES,
            searchable = Searchable.YES)
    private String street;

Error :

Response: 400 'Bad Request' from 'http://localhost:9200' with body 
{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "Failed to parse mapping [_doc]: analyzer [street_analyzer] has not been configured in mappings"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "Failed to parse mapping [_doc]: analyzer [street_analyzer] has not been configured in mappings",
    "caused_by": {
      "type": "illegal_argument_exception",
      "reason": "analyzer [street_analyzer] has not been configured in mappings"
    }
  },
  "status": 400

I have solved the problem.
Because I am using open-search as backend I had to mention the prop as follows:

jpa:
    properties:
      hibernate:
        ddl-auto: create
        search:
          backends:
            open-search:
               analysis:
                   configurer: com.package.CustomAnalysisConfigurer
        show-sql: true