본문 바로가기
소프트웨어 마에스트로/BackEnd(Django)

[백엔드] lexoRank 공부하기

by alpakaka 2024. 7. 13.

참고 

https://techblog.lycorp.co.jp/ko/about-atlassian-jira-ranking-algorithm-lexorank

 

Jira의 이슈 정렬 방식이 Integer 방식이 아니라고?!

들어가며 안녕하세요. LINE+ Contents Service Engineering 조직에서 백엔드 개발을 하고 있는 김한솔, 문다정, 이현동, 조강훈입니다. 저희 조직에서는 그룹...

techblog.lycorp.co.jp

 

노션의 기능처럼 드래그앤드랍으로 정렬을 하고 싶어서 해당 사항을 공부하게 되었다!

 

간단히 이해해 본 내용

1. Integer : 자료구조 배열과 같은 방식

2. greenhopper :  간격두고 앞으로 가면 +1, 뒤로가면 -1 정도..

3. Linked List : 자료구조 LinkedList

LexoRank

Bucket | FixedKey : VariableKey

 

수정되는 우선순위

1. VariableKey

2. FixedKey

3. Bucket

 

고갈 감지는 순위값의 길이로 사전감지 가능

 

고갈났을 때

1. Bucket을 바꾼다 (마지막이면 다시 0으로 재할당)

2. 가장 낮은 순위부터 바꾼다(간격을 넓혀서)

 

장점 : 무중단 조정, O(1)의 시간, 순위값 고갈 방지, 빠른 조회 가능 (인덱스)

 

 

공부해야하는 것..!

1. 인덱스 db... + b 트리 공부 ( 자료구조 ) 

 

LexoRank Library 관련해서 나온 문제는 이해하지 못했다...

 

LexoRank 적용기..

일단! 내가 구현을 하긴 어려워보여서 있는 라이브러리를 찾았다!

https://pypi.org/project/lexorank/

 

lexorank

lexorank is a ranking system introduced by Atlassian JIRA.

pypi.org

 

그런데 문제는 코드는 찾았는데.. 어떻게 쓰는 건지 모르겠다ㅏ...

내일 공부해볼 예정이다!