[Elasticsearch] ์ •๋ ฌ

[์›๋ณธ ๋งํฌ]

์—˜๋ผ์Šคํ‹ฑ์„œ์น˜๋Š” ์ •๋ ฌ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•œ๋‹ค.

์ •๋ ฌ์กฐ๊ฑด์€ "sort" ์ ˆ์„ ํ†ตํ•ด์„œ ์ „๋‹ฌ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ์กฐ๊ฑด์€ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์—ฌ๋Ÿฌ๊ฐœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
๋ฐฐ์—ด ์•ˆ์˜ ์กฐ๊ฑด๊ฐ’์€ ๊ทธ๋ƒฅ ํ•„๋“œ๋ช… ๋ฌธ์ž์—ด์ด๊ฑฐ๋‚˜, { "ํ•„๋“œ๋ช…": "asc" | "desc" }์˜ ํ˜•ํƒœ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

๋งŒ์•ฝ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•œ๋‹ค๋ฉด

price๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ํ•˜๋ผ๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค.

์•„๋ฌด๊ฒƒ๋„ ์„ค์ •ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ์˜ ์ •๋ ฌ์กฐ๊ฑด์€ { "_score" : "desc" }๋‹ค.
๊ทธ๋ž˜์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์ •ํ™•๋„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด์„œ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์„ ๋จผ์ € ๋…ธ์ถœํ•ด์ฃผ์ง€๋งŒ, ์ •๋ ฌ์กฐ๊ฑด์„ ์ง์ ‘ ์ง€์ •ํ–ˆ์„ ๋•Œ๋Š” ์ •ํ™•๋„๋ฅผ ์ข€ ์žƒ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๊ฐ€ ์žˆ๋‹ค.




๋‹ค์ค‘์ •๋ ฌ

๊ทธ๋ฆฌ๊ณ  ์ •๋ ฌ์กฐ๊ฑด์„ ์—ฌ๋Ÿฌ๊ฐœ ์ง€์ •ํ–ˆ์„ ๊ฒฝ์šฐ์—”, ๋ฐฐ์—ด์— ์ง€์ •๋œ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ์„ ๋ถ€์—ฌํ•œ๋‹ค.
์ผ๋‹จ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋กœ ์ •๋ ฌ์„ ํ•˜๊ณ , ์ •๋ ฌ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด ๋‘๋ฒˆ์งธ ์ •๋ ฌ์กฐ๊ฑด์œผ๋กœ ์ •๋ ฌ์ˆœ์„œ๋ฅผ ์ •ํ•˜๊ณ ... ๊ทธ๋Ÿฐ ์‹์ด๋‹ค.




์ ์ˆ˜ ๊ณ„์‚ฐ ๋ฌธ์ œ

์œ ์˜ํ•  ์ ์œผ๋กœ, ์ •๋ ฌ์„ ์ง์ ‘ ์ง€์ •ํ•  ๊ฒฝ์šฐ์—๋Š” ์ ์ˆ˜ ๊ณ„์‚ฐ๋ชจ๋“œ๊ฐ€ ๊บผ์ง„๋‹ค. ์–ด์ฐจํ”ผ ์ ์ˆ˜์ˆœ์œผ๋กœ ๋ณด์—ฌ์ฃผ์ง€ ์•Š์œผ๋‹ˆ๊นŒ ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ์ค„์ด๊ฒ ๋‹ค๋Š” ์˜๋„๋กœ ํ•ด๋‘” ๊ฒƒ ๊ฐ™๋‹ค.


ํ•˜์ง€๋งŒ ๊ทธ๋Ÿผ์—๋„ ์ ์ˆ˜๋ฅผ ๊ณ ๋ คํ•  ๊ฒฝ์šฐ๋Š” ํ•ญ์ƒ ์กด์žฌํ•œ๋‹ค.

min_score๋กœ ์ตœ์†Œ์ ์ˆ˜๋ฅผ ๊ฑธ์–ด์„œ ํ•„ํ„ฐ๋ง์„ ํ•  ์ˆ˜๋„ ์žˆ๊ณ .. ๊ทธ๋ƒฅ ๊ณ„์‚ฐ์„ ํ•˜๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์ง€ ์•Š๊ฒ ๋‚˜
๊ทธ๋Ÿด ๋•Œ๋Š” track_scores ์˜ต์…˜๊ฐ’์„ true๋กœ ์ฃผ๋ฉด ๋œ๋‹ค.

์ผ๋‹จ ์ •๋ ฌ์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋Š” ์ด๊ฒŒ ๋‹ค๋‹ค.

๋‹ค๋ฅธ๊ฒŒ ๋” ํ•„์š”ํ•˜๋‹ค๋ฉด ์•„๋ž˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค.



์ฐธ์กฐ
https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html