2016-07-14 2 views
1

Algolia의 숫자 필드 만 정렬 할 수 있으므로 레코드를 효율적으로 설정하여 특정 문자열 필드를 기반으로 알파벳순으로 결과를 반환 할 수있는 방법은 무엇입니까?Algolia에서는 레코드 결과를 사전 순 정렬 할 수 있도록 레코드를 어떻게 구성합니까?

예를 들어 인덱스의 각 레코드에 임의의 문자열 값이 포함 된 "제목"이라는 필드가 있다고 가정 해 봅니다. "title_sort"라는 형제 필드를 만들면 어떻게 결과가 정렬되어 레코드가 "title"에 의해 알파벳순으로 나올 수 있습니까? "제목"의 문자열에서 이러한 숫자를 만드는 알고리즘이 있습니까?

답변

0

정적 데이터 세트가있는 경우 데이터를 정렬하고 인덱스를 지정할 수 있습니다. 색인을 업데이트 할 때마다 데이터를 정렬하는 한 계속 작동합니다.

부분 정렬을 처리 할 수 ​​있다면 orc < orb을 수락 할 수 있지만 or < os이 필요하다면 Base64를 색인으로 사용할 수 있음을 알 수 있습니다. 그런 다음 정밀도만큼 많은 문자로 정렬 할 수 있습니다. 부분 정렬 일 뿐이지 만 유스 케이스에서는 사용할 수 있습니다. 정렬을 위해 base64 -> base10 매핑을 매핑하면됩니다.

또한 대문자와 소문자의 차이가 없으면 base26 -> base10을 수행 할 수 있습니다. 이 문제에 대해 더 많이 생각하면할수록 제한이 있지만 사용 사례에 따라 다를 수 있습니다.