목록DB/[Elasticsearch] (57)
른록노트
@ 설명join type은 하나의 인덱스 내에서 상위, 하위 관계를 나타내는 필드 이레스틱 조인필드는 관계DB의 조인과 다름일대다 관계를 필드로 만듬 하지만 이레스틱은 비정형화 데이터를 사용하는게 성능엔 더 좋음 @ 유의사항인덱스 당 하나의 조인필드만 있을 수 있음,하위문서 만들때 같은 샤드에서 만들어야되는데 그때 라우트값을 사용join을 빨리하기위해 인덱스 생성시 eager_global_ordinals를 사용 할 수 있지만,join필드를 자주 사용하지 않고 write가 자주되면 eager_global_ordinals:false가 좋음 (성능저하) @ 사용법-인덱스 맵핑test_join_index{ "mappings": { "doc": { "dynamic": "strict", "properties": {..
@ 설명-.1 A multi-bucket aggregation that creates composite buckets from different sources. (다른 소스에서 복합 버킷을 만드는 다중 버킷 집계)-.2 어그리게이션 결과를 size 개수만큼 순차적으로 보여주는 기능 참고사이트https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-composite-aggregation.html
1. 스크립트POST test/_doc/1/_update { "script" : { "source": "if (ctx._source.tags.contains(params.tag)) { ctx.op = 'delete' } else { ctx.op = 'none' }", "lang": "painless", "params" : { "tag" : "green" } } } 2.doc 사용POST test/_doc/1/_update { "doc" : { "name" : "new_name" } } 참고사이트https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html
@ 설명 "Range":{"[필드]":{"gte":"[최대]","lte":"[최소]","relation":"[intersects(default) | within | contains]"} * 예시1) 데이터 : {lte:5, gte:10}* 예시2) 데이터 : null intersects : 검색 범위 안에 하나라도 속하면 검색 (데이터 값이 null이면 null 값도 다 검색됌)예시1) 0~5를 검색하면 하나라도 포함되있으므로 5가 검색됌 예시2) 0~5를 검색하면 null이 검색됌within : 검색범위가 결과범위를 품고 있어야 검색됌예시1) 5~10를 검색하면 5부터 10이 포함되어있어 검색됌, 5~7를 검색하면 포함이아니라 데이터보다 범위가 더 작아서 검색안됌예시2) 5~10을 검색하면 검색결과 X..
{ "query": { "bool": { "must_not": { "exists": { "field": "user" } } } } } must_not : NORexist : 참고사이트https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-exists-query.html
1. elastic conf log4j 파일을 편집한다2. log level 이라는 값에 info 로 설정한다. (error 로 설정하면 에러 로그만 찍힘) 참고사이트https://www.elastic.co/guide/en/elasticsearch/reference/current/logging.html
결론이레스틱은 루신을 사용하는 빅데이터이기때문에 많은 용량을 차지하는 document를 넣으면 루신 segment병합 과정에서 많은 IO가 발생할 수 있어서 파일을 elastic에 저장하는 방식이 아닌 fileserver를 따로 두는것을 추천한다(couchdb). 만일 base64방식으로 이레스틱에 Binary 파일을 저장할때 메모리 아웃이 자주 발생 할 수 있는데 jvm의 성능을 높혀도 일정 용량 이상에서 메모리아웃이 발생한다. 하지만 100mb정도는 max size로 지정하여 이레스틱에 사용 할 수 있다고 한다. 참고사이트https://discuss.elastic.co/t/storing-binary-files-in-elastic/63078/7https://discuss.elastic.co/t/best..
To Blob or Not to Blob Application designers often face the question of whether to store large objects in a filesystem or in a database. Often this decision is made for application design simplicity. Sometimes, performance measurements are also used. This paper looks at the question of fragmentation – one of the operational issues that can affect the performance and/or manageability of the syste..