# Предотвратить дупликаты

**URL:** <https://discuss.elastic.co/t/topic/116250>\
**Category:** Вопросы на русском языке\
**Created:** [January 19, 2018, 2:13pm UTC](https://discuss.elastic.co/t/topic/116250 "2018-01-19T14:13:16Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![pavuk](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/pavuk/32/28914_2.png) [@pavuk](https://discuss.elastic.co/u/pavuk)\
**Post date:** [January 19, 2018, 2:13pm UTC](https://discuss.elastic.co/t/topic/116250/1 "2018-01-19T14:13:17Z")

</div>

В Logstash имею такой конфиг

```
input {
  jdbc {
    jdbc_driver_library => "/usr/share/java/mysql-connector-java.jar"
    jdbc_driver_class => "com.mysql.jdbc.Driver"
    jdbc_connection_string => "jdbc:mysql://localhost:3306/xf"
    jdbc_user => "xxxx"
    jdbc_password => "xxxxx"
    schedule => "0 * * * *"
    statement => "select xf_post.username, count(*) as posts, count(xf_thread.best_answer_id) as best_answers, sum(xf_post.likes) as likes from xf_post left join xf_thread on (xf_post.post_id = xf_thread.best_answer_id and xf_thread.best_answer_id > 0) where xf_post.post_date between UNIX_TIMESTAMP('2018-01-01 00:00:00') and UNIX_TIMESTAMP('2018-02-01 00:00:00') group by xf_post.username order by posts desc limit 25"
}
}
output {
 elasticsearch {
   hosts => ["http://xxxx.com:9200/"]
   user => logstash_internal
   password => xxxx
   index => "forum_stat"
   document_type => "forum_stat"
   document_id => "%{id}"
 }
# stdout { codec => rubydebug }
}

```

Проблема в том, что эти 25 записей постоянно дуплицируются каждый час. А хочется, чтобы они перезаписывались каждый час и их оставалось всегда 25.  
Вроде читал, что document\_id =\> "%{id}" должен эту задачу решать, но у меня не работает.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [January 22, 2018, 4:16pm UTC](https://discuss.elastic.co/t/topic/116250/2 "2018-01-22T16:16:29Z")

</div>

> [@pavuk](#):
>
> Вроде читал, что document\_id =\> "%{id}" должен эту задачу решать, но у меня не работает.

Эту задачу решает [`tracking_column`, `sql_last_value`](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html#_predefined_parameters) и [`id`](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html#plugins-inputs-jdbc-id). В противном случае logstash будет всега обрабатываться все и генерировать новые уникальные id для каждой записи.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [February 19, 2018, 4:16pm UTC](https://discuss.elastic.co/t/topic/116250/3 "2018-02-19T16:16:49Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
