1
jdbc river plugin은 간단한 전략 모드에서 새로운 행을 추가 할 때 인덱스를 업데이트하지만 필드 값에 변경 사항이있는 경우 기존 행을 업데이트합니까? 데이터베이스에있는 타임 스탬프 필드와 매핑이 없다는 것을 알았으므로 그렇지 않습니다.elasticsearch jdbc river plugin 트랙이 mysql의 기존 행을 변경합니까?
jdbc river plugin은 간단한 전략 모드에서 새로운 행을 추가 할 때 인덱스를 업데이트하지만 필드 값에 변경 사항이있는 경우 기존 행을 업데이트합니까? 데이터베이스에있는 타임 스탬프 필드와 매핑이 없다는 것을 알았으므로 그렇지 않습니다.elasticsearch jdbc river plugin 트랙이 mysql의 기존 행을 변경합니까?
아래 예제와 같이 $river.state.last_active_begin
을 사용하여 쿼리 내에서 타임 스탬프를 사용할 수 있습니다. 이렇게하면 마지막 강이 실행 된 이후에 추가 된 제품 행을 가져옵니다.
{
"type": "jdbc",
"jdbc": {
"url": "jdbc:mysql://localhost:3306/test",
"user": "",
"password": "",
"sql": [
{
"statement": "select * from \"products\" where \"mytimestamp\" > ?",
"parameter": [
"$river.state.last_active_begin"
]
}
],
"index": "my_jdbc_river_index",
"type": "my_jdbc_river_type"
}
}
버전 관리에 따라 문서를 업데이트하거나 덮어 씁니다. – shyos
[기타 답변/질문은 여기] (http://stackoverflow.com/questions/21260086/elasticsearch-river-jdbc-mysql-not-deleting-records)에 대한이 다른 최근 답변에 좋은 정보가 있습니다. – mconlin
예 , 고마워, 나는 그것이 지금 어떻게 작동 하는지를 이해한다. 기본적으로 쿼리를 다시 실행하고 델타를 기반으로 필요한 경우 새 버전으로 문서를 다시 업데이트합니다. – dickyj