본문 바로가기

IT

[javascript, jquery] for, foreach # jQuery each $.each(json, function(key, value){alert('key:' + key + ' / ' + 'value:' + value);}); # javascript for var json = {"name":"김철수","age":"20"};for(key in json) {alert(key + " = " + json[key]);} 더보기
[MongoDB] php 7.X 에서 접근 방법 ### PHP 7.X 에서 mongodb 연결하는 방법이 바뀌었네요. $filter = ['uid' => $uid];$options = [ 'projection' => ['_id' => 0],];$mongo = new MongoDB\Driver\Manager('mongodb://xxx.xxx.xxx.xxx:xxxx');$query = new MongoDB\Driver\Query($filter, $options);$rows = $mongo->executeQuery('DB.COLLECTION', $query); // $mongo contains the connection object to MongoDB foreach($rows as $r){ $result = $r;} 상세한건http://php.net/man.. 더보기
[MongoDB] 전체 필드 이름 얻기 전체 필드 이름 얻기, 전체 필드 이름 찾기 mr = db.runCommand({ "mapreduce" : "userlog_table", "map" : function() { for (var key in this) { emit(key, null); } }, "reduce" : function(key, stuff) { return null; }, "out": "userlog_table" + "_keys"}) db[mr.result].distinct("_id") 출처: http://eunsood.tistory.com/ 더보기
[delete_by_query] 쿼리 & 삭제 무슨 플러그인을 깔아야 한다고 하던데 그건 2.X 버전에서만 그런가보다... 5.0.1 기준으로 플러그인 없이 순식간에 삭제가 되는걸 볼 수 있다. curl -POST '112.293.59.20:9200/myindex/mytype/_delete_by_query?pretty' -d '{ "query": { "match": { "name": "Kim" } }}' 더보기
[AWS] php7 설치 aws / centos 6 환경에서 php7 설치 # yum install epel-release# rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm# rpm -Uvh https://mirror.webtatic.com/yum/el6/webtatic-release.rpm # rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm # yum --enablerepo=remi install php70 php70-php php70-php-cli php70-php-common php70-php-gd php70-php-json php70-php-mbstring php70-.. 더보기
[NFS] 셋팅 NFS 서버 구축 NFS란 ?NFS(Network File System) 네트워크 상에서 파일 시스템을 공유하도록 설계된 파일 시스템의 한 종류이다. 다른 호스트에 있는 파일 시스템의 일부를 자신의 디렉토리인 것처럼 사용할 수 있도록 해주는 것이 NFS이다. NFS 설정은 파일 시스템을 share하는 서버의 설정과 서버의 파일 1. NFS 서버 세팅 NFS 설치 RPM 명령어 이용 패키지 설치 확인# rpm -qa | grep nfs nfs-utils-1.0.6-70.EL4# rpm -qa | grep portmap portmap-4.0-63 대부분 기본적으로 설치 되어 있음 만약 없으면 yum으로 설치 # yum install portmap nfs-utils* libgssapi rpm 으로 설치시 다운.. 더보기
[JAR] .jar 파일 생성하기 arirang-morph-1.1.0 가 있는 곳으로 이동 후 jar cf arirang-morph-1.1.0.jar arirang-morph-1.1.0 더보기
[Elasticsearch] 성능 극대화 #색인시 bulk API 사용하기 - 한번에 다수의 문서를 색인하는 방법이다. echo '{"index" : {"_index" : "get-together", "_type" : "group"}}{"name" : "Elasticsearch Bucharest"}{"index" : {"_index" : "get-together", "_type" : "group"}}{"name" : "Big Data Bucharest"}' > test_bulk.jsoncurl -XPOST localhost:9200/get-together/_bulk --data-binary @test_bulk.json - 아래와같이 rest api 호출시 index, type을 지정하면, json에 index, type 생략이 가능하다.echo.. 더보기
[Elasticsearch] 스케일 아웃 #노드 해체하기 curl -XPUT 'localhost:9200/_cluster/settings' -d '{"transient" : {"cluster.routing.allocation.exclude._ip" : "192.168.1.10"}}' - 재시작을 원하는 노드를 그냥 종료하면 데이터의 손실이다. 위와같이 하면 (192.168.1.10은 해당 노드의 ip) 노드의 데이터들을 다른 노드들이 나눠가지면서 클러스터 green 상태를 유지하면서 재시작이 가능하다. ### 일반적으로 루씬 색인은 21억건 이상의 문서 혹은 2740억건 이상의 고유 텀들을 가질 수 없다. (p410) #롤링 리스타트 - 노드 업그레이드 혹은 설정값을 바꿀 때, 데이터 가용성을 해치지 않으면서 재구동을 하는 방법이다. 과정은 다.. 더보기
[Elasticsearch] Elasticsearch In Action - 7 7.1.1 집계 요청의 구조 curl 'localhost:9200/get-together/group/_search?pretty' -d '{"aggs" : {"top_tags" : {"terms" : {"field" : "tags.verbatim"}}}}' curl 'localhost:9200/get-together/group/_search?pretty' -d '{"query" : {"match" : {"location_group" : "Denver"}},"aggregations" : {"top_tags" : {"terms" : {"field" : "tags.verbatim"}}}}' 더보기