Я реализовал пользовательский мост, который отображает все динамические c поля со связанными типами. Типы могут быть FieldType.STRING или FieldType.DOUBLE или FieldType.BOOLEAN в зависимости от значения.
Когда я посмотрел на сопоставление в моей поисковой схеме elasti c, все строковые поля сопоставлены с типом TEXT где я ожидаю, что это будет ключевое слово, так что я могу сделать поиск по шаблону.
Вот моя проблема Я хочу отфильтровать "AAA-VALUE" для динамически отображаемого поля 'attribute.dynami c -field-1'
У меня есть индексированное значение как «AAA-VALUE» для динамически отображаемого поля «attribute.dynami c -field-1 '
Если я хочу выполнить поиск по ключевому слову, я столкнулся с ошибкой типа« Мост поля не найден » затем я исправил ошибку, игнорируя мост с помощью ignoreFieldBridge, и ошибка исчезла.
Затем я снова попытался выполнить поиск со значением «AAA-VALUE», и результат оказался пустым (данные не найдены). Здесь я создал запрос, используя запрос ключевого слова ().
Затем я снова попытался выполнить запрос фразы, но он заработал, но проблема в том, как я могу выполнить поиск по шаблону, например ' -VALUE '.
Что касается кода , я следовал аналогичной реализации, как указано здесь https://github.com/hibernate/hibernate-search/blob/master/legacy/engine/src/test/java/org/hibernate/search/test/bridge/MultiFieldMapBridge.java
Только тип отличается в моей реализации, где тип может быть строковым, логическим или двойным.
Моя версия поиска hibernate - hibernate-search.version и hibernate-search -asticsearch = 5.11.3.Final