Как сконфигурировать анализ с аннотацией @Field в spring-data -asticsearch с нормами: enabled: false - PullRequest
0 голосов
/ 16 января 2019

@ Field (index = FieldIndex.analyzed, type = FieldType.String)

Как добавить здесь аннотацию для отключения норм для анализируемого поля

1 Ответ

0 голосов
/ 22 января 2019

Поскольку нет никакого способа добавить атрибут норм enable-false как часть аннотаций @field в сущности java, мы можем добавить все сопоставления (все необходимые типы с атрибутами в качестве сопоставлений) в файл mappings.json и ссылаться на этот файл в сущности. файл. Вроде как ниже

@Document(indexName = "jobindex")
@Setting(settingPath = "/config/elasticsearch-settings.json")
@Mapping(mappingPath = "/config/mappings.json") //THIS ONE TO ADD
public class JobIndex implements Serializable {
}

и mappings.json выглядят как

"mappings": {
    "_doc": { 
      "properties": {
        "title": {
          "type": "text",
          "norms": { "enabled": false } 
        }
      }
    }
  }

ПРИМЕЧАНИЕ: когда вы добавляете определенные атрибуты как часть mappings.json, которые недоступны в аннотациях java @Field, тогда лучше добавлять все аннотации полей в файл json, а не в аннотации java @ Field. Таким образом, вывод заключается в том, что сущность java должна быть без аннотаций полей, и все сопоставления должны быть в файле mappings.json, и этот файл должен быть указан в заголовке сущности, как указано в первом блоке кода этого ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...