SolrJ и LocalDate и LocalDateTime - PullRequest
0 голосов
/ 15 мая 2018

SolrJ сериализует LocalDate и LocalDateTime, но они не доступны для поиска как даты (или диапазоны дат), а скорее как строки.Если кто-то хочет, чтобы он был доступен для поиска, он должен преобразовать его в java.util.Date, прежде чем продолжать работу с SolrJ.

Есть ли способ определить пользовательский сериализатор для SolrJ или также иметь LocalDate и LocalDateTimeпомечено как поле даты (и, следовательно, для поиска)?

Спасибо!

РЕДАКТИРОВАТЬ: Примеры кода

String zkHosts = "localhost:2181";
CloudSolrClient client = new CloudSolrClient.Builder().withZkHost(zkHosts).build();
client.setDefaultCollection("playground");

Person test = Person.builder().id("UID-333").createdTimestamp(LocalDateTime.now()).dateOfBirth(LocalDate.now()).gender("male").build();
client.addBean("person", test, 1000);

client.close();

Это то, что сохраняется в Solr:

{
  "id":"UID-333",
  "dateOfBirth":["java.time.LocalDate:2018-05-15"],
  "dateOfBirth_str":["java.time.LocalDate:2018-05-15"],
  "gender":["male"],
  "gender_str":["male"],
  "timestamp":["java.time.LocalDateTime:2018-05-15T15:00:12.433"],
  "timestamp_str":["java.time.LocalDateTime:2018-05-15T15:00:12.433"]
}

Разумеется, соответствующие свойства объекта помечены @Field.

...