Я использую elasticsearch java-api в сочетании с пружинными данными и имею проблему с индексированием документа. Индексирование работает, но некоторые значения должны быть пропущены. Но сначала я покажу вам мои настройки:Elasticsearch java-api spring-data не должен индексировать поля нулевого значения
Domainobject:
@Document(indexName = "testindex", type = "message")
public class MessageObject {
@Id
private String unid;
private String message;
private String secondMessage;
private String thirdMessage;
...
getters & setters
...
}
Интерфейс:
public interface MessageObjectRepository extends ElasticsearchRepository<MessageObject, Long> {
}
Услуги:
@Component
public class MessageService {
@Autowired
private MessageObjectRepository repository;
public void addRegistrationObject(MessageObject msg) {
repository.save(msg);
}
}
Так ....
если я хотите индексировать сообщение, которое имеет только t набор сообщений wo. например «сообщение» и «thirdMessage», и я ухожу из «secondMessage» нулевой ...
Если я просматриваю индекс это приводит к следующему:
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "testindex",
"_type": "message",
"_id": "00113B325ED357B7C1257E2D001D5B4B",
"_score": 1,
"_source": {
"unid": "00113B325ED357B7C1257E2D001D5B4B",
"message": "Hello",
"secondMessage": null,
"thirdMessage": "Third",
....
Моя проблема, я не 't хочу иметь значение null поле значения в моем индексе. Я не могу найти в этом ничего полезного ...
Возможно ли, что поле имеет нулевое значение, чтобы просто игнорировать его? (Не ставьте его в индексе) Так что мой индексируется документ будет выглядеть следующим образом:
"unid": "00113B325ED357B7C1257E2D001D5B4B",
"message": "Hello",
"thirdMessage": "Third",
без
"secondMessage": null,
?
Мне не нужен запрос, который игнорирует поля нулевого значения. Я хочу индекс без полей нулевого значения.
Спасибо, именно то, что я хочу. :) –