Elasticsearch์์ ๋ฌธ์์ ์ ์ฒด ๊ฐฏ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด 7๋ฒ์ ๋ถํฐ track_total_hits ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/search-your-data.html#track-total-hits
Search your data | Elasticsearch Guide [7.17] | Elastic
A search query, or query, is a request for information about data in Elasticsearch data streams or indices. You can think of a query as a question, written in a way Elasticsearch understands. Depending on your data, you can use a query to get answers to qu
www.elastic.co

์ผ๋ฐ์ ์ผ๋ก ์ ์ฒด ํํธ ์๋ ๋ชจ๋ ๋งค์นญ๋๋ ๋ฌธ์๋ฅผ ์กฐํํ์ง ์๊ณ ์ ํํ๊ฒ ๊ณ์ฐํ ์ ์์ผ๋ฉฐ, ์ด๋ ๋ง์ ๋ฌธ์์ ์ผ์นํ๋ ์ฟผ๋ฆฌ์์ ๋น์ฉ์ด ๋ง์ด ๋ฐ์ํฉ๋๋ค. track_total_hits ํ๋ผ๋ฏธํฐ ์ ์ฒด ํํธ ์๋ฅผ ์ด๋ป๊ฒ ์ถ์ ํ ์ง ์ ์ดํ ์ ์์ต๋๋ค. ์ต์ 10,000๊ฐ์ ํํธ๊ฐ ์๋ค๋ ์์ผ๋ก ํํธ ์์ ํํ๋ง ์๋ฉด ์ถฉ๋ถํ๊ธฐ ๋๋ฌธ์, ๊ธฐ๋ณธ ๊ฐ์ 10,000์ผ๋ก ์ค์ ๋์ด ์์ต๋๋ค. ์ฆ, ์์ฒญ์ ์ต๋ 10,000๊ฐ์ ํํธ์ ๋ํด์๋ ์ ์ฒด ํํธ๋ฅผ ์ ํํ๊ฒ ๊ณ์ฐํฉ๋๋ค. ์ผ์ threshold ์ดํ์๋ ์ ํํ ํํธ ์๋ฅผ ๊ณ์ฐํ ํ์๊ฐ ์๋ค๋ฉด ์ด ๋ฐฉ๋ฒ์ด ๊ฒ์ ์๋๋ฅผ ๋์ด๋๋ฐ ์ข์ ํธ๋ ์ด๋ ์คํ์ ๋๋ค.
track_total_hits๋ฅผ true๋ก ์ค์ ํ๋ฉด, ๊ฒ์ ์๋ต์์ ์ฟผ๋ฆฌ์ ์ผ์นํ๋ ํํธ ์๋ฅผ ์ ํํ๊ฒ ๋ฐํํฉ๋๋ค.
(์. total.relation์ track_total_hits๊ฐ true์ผ ๋ ํญ์ "eq"๋ก ์ค์ ๋ฉ๋๋ค.)
๊ทธ๋ ์ง ์์ผ๋ฉด, ๊ฒ์ ๊ฒฐ๊ณผ์์ "total" ๊ฐ์ฒด์ ์๋ "total.relation"์ด "total.value"๋ฅผ ์ด๋ป๊ฒ ํด์ํ ์ง ๊ฒฐ์ ํฉ๋๋ค. "gte"์ ๊ฐ์ ์ฟผ๋ฆฌ์ ์ผ์นํ๋ ์ ์ฒด ํํธ ์ ์ค "total.value"์ ํํ์์ ์๋ฏธํ๋ฉฐ, "eq" ๊ฐ์ "total.value"๊ฐ ์ ํํ ํํธ ์์์ ๋ํ๋ ๋๋ค.

10,000๊ฑด์ด ๋๋ ์ธ๋ฑ์ค๋ฅผ ์กฐํํ๋ฉด ์ต๋ 10,000๊ฑด๊น์ง ์กฐํ๊ฐ ๋ฉ๋๋ค.
{
"track_total_hits": true
}

track_total_hits๋ฅผ true๋ก ์ค์ ํ๋ฉด ๋ฌธ์์ ์ ์ฒด ํํธ ์๋ฅผ ์กฐํํ ์ ์๊ณ , relation์ "eq"๋ก ์ค์ ๋ฉ๋๋ค.
{
"track_total_hits": 1000
}

track_total_hits๋ integer๋ก ์ค์ ์ด ๊ฐ๋ฅํฉ๋๋ค.

๋ง์ฝ ๋ฌธ์์ ์ ์ฒด ๊ฐฏ์๊ฐ track_total_hits์์ ์ค์ ํ ๊ฐ๋ณด๋ค ์๋ค๋ฉด, total.relation์ด "eq"๋ก ์ค์ ๋ฉ๋๋ค.
{
"track_total_hits": false
}
๋ง์ฝ ์ ์ฒด ํํธ ์๋ฅผ ์ ํ์๊ฐ ์๋ค๋ฉด, track_total_hits๋ฅผ false๋ก ์ค์ ํจ์ผ๋ก์จ ์ฟผ๋ฆฌ ์๋๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
NativeQueryBuilder()
.withQuery(mapToLawyerSearchESQueryDsl(categories, region, terms))
.withPageable(pageable)
.withSort(sort(sortBy))
.withTrackTotalHits(true)
.build()
Spring์์ NativeQuery๋ฅผ ํตํด ES๋ฅผ ์กฐํํ๋ค๋ฉด, ์์ ๊ฐ์ด withTrackTotalHits() ํจ์๋ฅผ ํตํด ์ค์ ์ด ๊ฐ๋ฅํฉ๋๋ค.

integer ๊ฐ์ด ํ์ํ๋ฉด withTrackTotalHitsUpTo() ๋ฉ์๋๊ฐ ์กด์ฌํ๋ ํด๋น ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
'Elasticsearch' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Elasticsearch Random Score (0) | 2025.01.29 |
---|---|
Elasticsearch Exists ํค์๋ (2) | 2024.12.22 |
๋๊ธ