Release Notes

Release Notes

v1.1.0 (2024-05-01)

신규 기능

  • Full-text search 성능 개선함.
    • Full-text search 쿼리에서 multi-field term 기능을 추가함.
      • {!fields=[field1, field2]}:(term1 AND term2)field1:(term1 AND term2) field2:(term1 AND term2)로 해석.
    • 순서를 고려하지 않는 근접 검색 기능을 지원.
      • "term1 term2"~~5term1term2가 순서에 상관없이 서로 5단어 이내에 있는 문서를 검색합니다.
  • $project 연산자에서 중첩된 객체를 평면화(unnest) 할 수 있습니다.
    • ^ 접두어는 객에나 배열을 평면화 하는데 사용할 수 있습니다.
      • $project: ["^field1.field2", "field3"]는 평면화된 field1.field2와 변경 없는 field3를 의미합니다.
  • 쿼리 파서에서 이제 did you mean? 기능이 추가됩니다.
    • 만약 쿼리 파서에서 인식되지 않는 연산자가 있다면 유사한 연산자를 추천하게 됩니다.

성능 개선

  • 색인 생성 과정에서 동시성 제어를 완화하여 full-text search 색인 생성 성능을 개선함.

동작 변경

  • $search.timeout의 기본값이 5,000에서 10,000로 변경됩니다, 기본 검색 쿼리는 10초 이후에 만료됨을 의미합니다.
  • $limit 연산자의 값을 -1로 설정하여 단일 쿼리에서 반환할 수 있는 최대 문서 수를 늘릴 수 있습니다. 최대 반환할 수 있는 문서의 수는 인덱스의 구성, 쿼리의 복잡성, 시스템의 리소스에 의존합니다. 예를 들어, full-text search 색인에서 반환할 수 있는 최대 문서수는 10,000,000개이며 다른 색인의 경우 시스템 리소스가 허용하는 범위 내에서는 한계가 없습니다.
  • $search.highlight옵션에 의해 생성된 _highlights 필드에 대해 $recursive_unnest 연산자를 사용할 때 _score 필드도 평면화에 포함됩니다.

버그 수정

  • Full-text search의 버그 수정함.
    • highlighter가 배열 타입 필드에 대해서 정상적으로 동작하지 않은 버그를 수정함.
  • DocumentDB의 버그 수정함.
    • 중첩된 필드와 함께 $project 연산자가 제대로 작동하지 않는 버그를 수정함.
    • 부동 소수점 숫자와 함께 $sort 연산자가 제대로 작동하지 않는 버그를 수정함.
    • 다단계 파이프라인 쿼리에서 $skip$limit 연산자가 제대로 작동하지 않는 버그를 수정함.

v1.0.0 (2024-04-11)

Aeca Server의 첫 번째 안정된 릴리스입니다. 다음 기능들을 제공합니다:

  • Key-Value Database
    • 기본적인 CRUD 연산자
    • Transactions
    • Key-level Time-to-Live (TTL) support
  • Document-oriented Database
    • 기본적인 CRUD 연산자
    • Transactions
    • Secondary indexes
      • Unique와 non-unique 색인
      • Clustered와 non-clustered 색인
      • 부분 색인
      • 전체 기능을 지원하는 텍스트 검색 색인
      • Dense vector를 위한 유사도 검색 색인
      • 색인 레벨에서의 Time-to-Live (TTL) 지원
    • 쿼리 레이어에서 Python scripting을 지원
  • Language model serving
    • Touch 기반의 사용자 언어모델 배포 기능