4,563,369 th visitor since 2017.2.1 ( Today : 263 )
Programming
No. 702
Name. swindler
Subject. [ElasticSearch] SearchRequestBuilder 에서 size 지정없이 전부 추출하기
Main Cate. 기타 DB
Sub Cate.
Date. 2013-03-19 11:23
Hit. 2829 (211.36.27.3)
File.
SearchRequestBuilder에서는 기본적으로 10개의 결과만 반환하게 되어 있다.

paging을 구현하기 위해서는
setSize(), setFrom() 2개를 통해서 구현이 가능하다.

이게 쿼리는 아래와 같은 형태로 만들어진다.

{
query: {
bool: {
must: [
{
term: {
user: 1
}
}
],
must_not: [ ],
should: [ ]
}
},
from: 0,
size: 50,
sort: [ ],
facets: { }
}


가끔, paging이 없이 모든 데이터를 가져오는 것이 필요할 때가 있는데,

흔히들 생각하듯이 setSize(-1) 을 주면 default값인 10개로 지정된다고 한다.
(직접 해보지는 않았다.)

setSize(99999999); 이런식으로 주는것이 가능하긴 한데, 좀 무식하긴 하다.

어찌되었든 10개만 가져오더라도 전체 갯수는 쉽게 구할 수 있다.

response.getHits().getTotalHits()



[바로가기 링크] : http://coolx.net/cboard/develop/702



Name
Password
Comment
Copyright © 1999-2017, swindler. All rights reserved. 367,611 visitor ( 1999.1.8-2004.5.26 ), 2,405,771 ( -2017.01.31)

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog