Эластичный поиск 6.2 с Java API, как иметь автоматически сгенерированный идентификатор? - PullRequest
0 голосов
/ 27 апреля 2018

Я хочу вставить данные с автоматически сгенерированным идентификатором. Я вставляю «пользователя», как это:

java.util.Map<String, Object> jsonMap = new HashMap<String, Object>();
        jsonMap.put("username", user.username);
        jsonMap.put("password", user.password);
        jsonMap.put("mail", user.mail);
        jsonMap.put("friends", user.friends);
        jsonMap.put("maps", user.maps);
        IndexRequest indexRequest = new IndexRequest("users", "doc",user.username)
                .source(jsonMap)
                .opType(DocWriteRequest.OpType.CREATE);

Здесь user.username - это мой идентификатор. И если я удалю этот аргумент, у меня будет ошибка при выполнении, потому что у меня нет идентификатора для моего пользователя. (Я попробовал это, потому что я прочитал, что если я не ставлю какой-либо идентификатор, у меня должен быть автоматически увеличенный идентификатор). Я не нашел в документации ничего, что могло бы помочь мне (или, может быть, я этого не понял).

1 Ответ

0 голосов
/ 27 апреля 2018

Я решил свою проблему. Мне нужно было установить opType на «INDEX» вместо «CREATE». Тогда я могу использовать функцию id ()

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