11185
(박재혁)
June 29, 2015, 8:15am
1
es에서는 문서의 history 기능을 지원하지 않는걸로 알고 있습니다.
그래서 직업 구현하려 합니다.
{:_id 1 :docid 1 :name jh1 :my-rev 1}
[:_id 2 :docid 1 :name jh2 :my-rev 2}
[:_id 3 :docid 3 :name park :my-rev 1}
_id1의 내용을 변경해서 _id2를 새로 만들었습니다. 문서는 총 3개가 ES에 저장되어 있습니다.
제가 막히는 부분은
[:_id 2 :docid 1 :name jh2 :my-rev 2}
[:_id 3 :docid 3 :name park :my-rev 1}
위와 같은 결과물을 나오게 하는 쿼리를 만드는것입니다.
docid가 같을 경우 my-rev이 가장 큰 문서를 가져오는 쿼리입니다.
아이디어가 생각이 나지 않네요
11185
(박재혁)
June 29, 2015, 8:24am
2
자문 자답이네요.
doc_history 인덱스를 만들고
문서 update할 때마다 기존 문서는 doc_history에 옮기고 새로은 문서만 사용하던 인덱스에 저장면 되겠네요.
Henry_2
(Henry Jeong)
June 30, 2015, 8:59am
3
아.. 제목에 es 의 revision 아니라고 하셨군요..ㅡ.ㅡ; 쿨럭
그럼 패스 입니다. ~
elasticsearch 에서 제공하는 version 을 활용해 보시는건 어떨가요?
[참고 문서]
https://www.elastic.co/guide/en/elasticsearch/guide/current/optimistic-concurrency-control.html
색인 할 때 version을 명시 하지 않으면 자동으로 auto increment 되고 가져 올때는 version 정보 명시 한거 가져 오게 되어 있습니다.
명시 하지 않으면 최신거 가져오구요.
용도에 맞는지는 모르겠으나 활용해 보셔도 될 것 같습니다.