AppSearch
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2024년 12월 11일 | - | - | - | 1.1.0-alpha07 |
종속 항목 선언
AppSearch의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { def appsearch_version = "1.1.0-alpha05" implementation "androidx.appsearch:appsearch:$appsearch_version" // Use kapt instead of annotationProcessor if writing Kotlin classes annotationProcessor "androidx.appsearch:appsearch-compiler:$appsearch_version" implementation "androidx.appsearch:appsearch-local-storage:$appsearch_version" // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation "androidx.appsearch:appsearch-platform-storage:$appsearch_version" }
Kotlin
dependencies { val appsearch_version = "1.1.0-alpha05" implementation("androidx.appsearch:appsearch:$appsearch_version") // Use annotationProcessor instead of kapt if writing Java classes kapt("androidx.appsearch:appsearch-compiler:$appsearch_version") implementation("androidx.appsearch:appsearch-local-storage:$appsearch_version") // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation("androidx.appsearch:appsearch-platform-storage:$appsearch_version") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
버전 1.1
버전 1.1.0-alpha07
2024년 12월 11일
androidx.appsearch:appsearch-*:1.1.0-alpha07
이 출시되었습니다. 버전 1.1.0-alpha07에는 이 커밋이 포함되어 있습니다.
새로운 기능
- 아직 안정화되지 않은 새 API 노출 영역에
ExperimentalAppSearchApi
주석을 추가합니다. (Ib09f4) AppSearchSession#openBlobForWriteAsync
및 관련 메서드를 통한 바이너리 blob 데이터의 효율적인 저장 및 공유 지원matchScoreExpression
함수를 통해 표현식에 점수를 부여하여 쿼리 결과를 필터링하는 기능 지원 (Id525a)- 상위 문서에서 하위 문서로 삭제를 전파하는 기능을 지원합니다. (Ia032d)
- 약간의 품질 손실로 삽입 성능을 높이는 삽입 양자화 API를 지원합니다. (Id8a07)
SearchSpec
에서addFilterDocumentIds
API를 사용하여 특정 문서로 검색을 제한하는 기능을 지원합니다. (I7c6f1)
API 변경사항
- 상위 유형 정보를
GenericDocument
에서SearchResult
로 이동합니다. (I34a1d) TakenAction
API에서DismissAction
및ImpressionAction
를 비롯한 새로운 작업 유형을 지원합니다. (I0c6c7)- 새로운 AppSearch 내장 스키마
WebPage
를 추가했습니다. (I28127)
버전 1.1.0-alpha06
2024년 10월 16일
androidx.appsearch:appsearch-*:1.1.0-alpha06
이 출시되었습니다. 버전 1.1.0-alpha06에는 이 커밋이 포함되어 있습니다.
API 변경사항
PropertyDefined
쿼리 함수를 나타내는 노드를 추가했습니다. (I1aeaf)- 숫자 검색 및 속성 제한을 나타내는 노드를 추가합니다. (I963a9)
GetSearchStringParameter
쿼리 함수를 나타내는 노드를 추가합니다. (I4f99b)HasProperty
쿼리 함수를 나타내는 노드를 추가합니다. (I9c1c5)- AST에서 함수를 구현하기 위한 인터페이스를 추가했습니다. (I9d42e)
- AND 및 OR 연산자를 추가합니다. (Iaa442)
- AST에서 쿼리의 논리적 부정을 나타내는
NegationNode
를 추가합니다. (Ia855a) - 노드를 정의하기 위해
AppSearch
에 노드 인터페이스를 추가합니다. (If42fb) AppSearch
의 Experimental API 주석을 추가합니다. (I3e57c)
버그 수정
- 보류 기간에
TextNodes
를 추가합니다. (Iefd02)
보안 수정사항
- 이 변경사항부터 androidx는 CVE-2024-7254를 해결하기 위해 protobuf 4.28.2를 기준으로 컴파일합니다. 취약점 위험을 해결하려면
androidx.appsearch:appsearch-external-protobuf
종속 항목을 최신 1.1.0-alpha06으로 업그레이드하세요.
버전 1.1.0-alpha05
2024년 9월 4일
androidx.appsearch:appsearch-*:1.1.0-alpha05
이 출시되었습니다. 버전 1.1.0-alpha05에는 이 커밋이 포함되어 있습니다.
API 변경사항
- 불필요한
setEmbeddingSearchEnabled
및getEmbeddingSearchEnabled
가 지원 중단됩니다.setListFilterTokenizeFunctionEnabled
및getListFilterTokenizeFunctionEnabled
를 삭제합니다. 'tokenize' 쿼리 함수를 삭제했습니다.getSearchStringParameter
쿼리 함수 및addSearchStringParameter
함수로 대체되었습니다. (I09f5a) Alarm#getComputingDevice
의 이름을getOriginatingDevice
로 바꿉니다. (I63121)
버전 1.1.0-alpha04
2024년 8월 7일
androidx.appsearch:appsearch-*:1.1.0-alpha04
이 출시되었습니다. 버전 1.1.0-alpha04에는 이 커밋이 포함되어 있습니다.
새로운 기능
LocalStorage
의 상당한 APK 크기 비용 없이 이전 기기에서AppSearch
를 사용할 수 있는 새로운PlayServicesStorage
구현을 지원합니다. 이 저장소 구현은 Play 서비스 앱 내에 앱 데이터를 저장하는 방식으로 작동합니다.- Android 15를 실행하는 기기에서 새 API를 지원합니다.
- 벡터를 임베딩하여 데이터베이스 검색을 지원하므로 대략적인 일치가 가능합니다. (I2b41b)
AppSearch
스키마 모델 내에서 상위 유형 및 다형성을 지원합니다. (I06118)- 후속 검색 중에 품질을 개선하기 위해 앱이 결과가 클릭되거나 중단되었을 때 보고할 수 있는
TakenAction
API를 지원합니다. (I54091) - 새
@Document.BuilderProducer
주석을 도입하여 주석 프로세서에서 빌더가 있는 클래스를 지원합니다. (Iec30a) - 중첩된 문서의 색인을 생성할 속성을 더 세분화하여 제어할 수 있습니다. (Iec30a)
- 특정 문서 속성으로 검색을 필터링하는 기능을 지원합니다. (Ib2659)
- 공개 상태 설정의 OR 및 AND를 허용하여 더 세분화된 공개 상태 설정을 지원합니다. (I0274b)
- 소유 앱의 존재를 볼 수 있는 모든 앱에 데이터 가시성을 부여하는 기능 (공개 가시성)을 지원합니다. (I992e4)
- 특정 속성에 데이터가 채워진 결과만 검색할 수 있습니다. (I7d94f)
- 개인 프로필에서 엔터프라이즈 연락처를 검색할 수 있도록 지원합니다. (Idd587)
API 변경사항
- AppSearch의
Document.DocumentProperty
주석에indexableNestedPropertiesList
및inheritIndexableNestedPropertiesFromSuperclass
주석 매개변수를 추가하여 특정 중첩된 속성 경로의 색인을 생성할 수 있도록 합니다. (Iec30a) AppSearch
주석 프로세서에서 빌더 인스턴스를 만드는 빌더 생성자 지원 (I265c9)- 다형성에 관한 상위 유형 설정을 지원하도록
AppSearch
주석 프로세서를 업데이트했습니다. (I06118) - 공개 상태 설정을 지우기 위한
GetSchemaRequest
메서드를 추가했습니다. (I38379) - AppSearch에서 다형성을 위해
addParentType
를 지원합니다. (Ida14a) - 추가 순위 표현식을 위한 API를 추가했습니다. (I5d9f4)
SearchAction
API를 추가했습니다. (I54091)AppSearch
유형의 설명 필드를 추가했습니다. (I84762)AppSearch
에 임베딩 검색 쿼리 및 순위 지정 API 온보딩 (I0f6c3)getDeletionPropagation
를 삭제합니다. (I21192)
버전 1.1.0-alpha03
2023년 5월 24일
androidx.appsearch:appsearch-*:1.1.0-alpha03
이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 고급 쿼리 API, 고급 점수 API, 숫자 검색을 지원합니다. (I02d48)
- 단일 앱의 로컬 저장소 내 모든 데이터베이스를 검색하는
LocalStorage.createGlobalSearchSession
API를 추가합니다. (Id3c89) - ID별로 문서를 조인하는 API를 추가했습니다 (Iaecfa).
RANKING_STRATEGY_RELEVANCE_SCORING
를 사용할 때 특정 속성이 더 중요하다는 것을 표시하는 속성 가중치를 지원합니다. (I069b9)AppSearch
에서 인물 자료 쿼리를 위한 인물 및ContactPoint
를 추가합니다. (Ia58f9)- http://schema.org/ImageObject를 모델로 한 새 문서 유형
ImageObject
를 추가했습니다. (I6a0c0) AppSearch
의 해석 없이 속성을 추가할 수 있는VERBATIM
토큰라이저를 추가합니다. (I47bc0)- 이메일 주소의 토큰화를 허용하는 토큰라이저 유형으로
RFC822_TOKENIZATION
를 추가했습니다. (I8a390) - 디버그 보기에서 전역 검색을 사용 설정합니다. (I51fb2)
API 변경사항
ListenableFuture
를 반환하고 Async 접미사가 없는 메서드가 삭제되었습니다. (I0515f)Document
클래스로 프로젝션을 구성하는 기능을 추가합니다. (I94576)Thing
의 필드를Alarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
,Person
에 추가했습니다. (Id876c)
버그 수정
- appsearch-platform-storage에서 Android 13 기능을 완전히 지원합니다. (Ia8e61)
- 상속을 사용할 때 스키마 이름 및 비공개 필드를 재정의하는 문제 수정
버전 1.1.0-alpha02
2022년 8월 24일
androidx.appsearch:appsearch-*:1.1.0-alpha02
가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- 색인을 처음부터 다시 빌드하는 대신 색인 압축을 사용하여 최적화 도구 프로세스를 가속화합니다.
- 기본 로깅 태그를 'icing'에서 'AppSearchIcing'으로 변경했습니다. 기본적으로 INFO 메시지를 로깅합니다.
API 변경사항
- 경로 작업을 위한 새로운
PropertyPath
객체와PropertyPath
를 허용하는 새로운addProjection
메서드가 추가되었습니다. (I45588) AppSearch
기본 제공 유형에builtin:Thing
을 추가했습니다. (I55427)GenericDocument
에서 빈 속성 이름을 더 빠르게 차단합니다. 이전에는 색인 생성 시 차단되었지만 이제GenericDocument.Builder.build()
시간에 차단됩니다. (I9e780)
버그 수정
- RELEVANCE 스코어링 성능을 개선하기 위해 불필요한 문자열 형식을 삭제했습니다.
- 읽을 수 없거나 삭제된 문서가 있을 때 페이지로 나누기를 보다 효율적으로 실행합니다.
- 취소된 쿼리에 대한 가비지 컬렉션을 구현했습니다.
- 문서의 중첩된 색인 생성 지원을 수정합니다. 이전에는 indexNestedProperties를 무시했습니다. (Iae9a6)
외부 기여
- Shea Smith: 문서의 중첩된 색인 생성 지원을 수정합니다. (Iae9a6)
버전 1.1.0-alpha01
2022년 6월 15일
androidx.appsearch:appsearch-*:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01은 비공개 출시 전 브랜치에서 개발되었으며 공개 커밋이 없습니다.
API 변경사항
ListenableFuture
를 반환하는 모든 메서드의 이름에 Async 접미사가 붙었습니다. 예를 들어getSchema
는getSchemaAsync
로 바뀌었습니다. 이전 버전은 지원 중단되었으며 향후 출시에서 삭제될 예정입니다.
새로운 기능
- appsearch-built-types의 첫 번째 버전. 이 프로젝트에는 schema.org 기반의 몇 가지 기본 유형이 포함되어 있어 클라이언트가 공통 객체를 위한 자체 유형을 정의하는 대신 편리하게 사용할 수 있습니다. 향후 버전에는 더 많은 유형이 추가될 예정입니다.
ShortcutAdapter
를 사용하여AppSearch
문서를ShortcutInfoCompat
으로 변환하는 기능. 이렇게 하면 클라이언트가 core-google-shortcuts 라이브러리를 사용하여AppSearch
문서를 Google에 공유할 수 있습니다.@Document
클래스로 상속을 사용하는 기능. 필드를 교체하거나 수정할 수는 없지만,@Document
주석이 달린 클래스를 확장하여 새 필드를 추가할 수 있습니다.- 클라이언트가 액세스할 수 있는 유형이 변경되었거나 이러한 유형의 문서가 추가, 수정 또는 삭제될 때 알림을 등록할 수 있는 새로운 Observer API. 중요: 현재 구현에서는 앱이 실행 중일 때만 알림을 전달합니다. 현재로서는 앱이 중지된 동안 발생한 변경사항을 검사할 수 있는 방법이 없습니다. 따라서 완전성을 위해 이 API를 사용해서는 안 됩니다.
MatchInfo#getPropertyPath
에서 반환한 속성 경로를 완전히 처리하고 검사할 수 있는 속성 파서 API- 보기 권한을 부여한 다른 앱의 문서와 스키마를 가져올 수 있는 전 세계
getById
및 전 세계getSchema
API - 액세스할 수 있는 데이터의 공개 상태 정보를
getSchema
로 가져오는 기능 - 특정 Android 권한(허용 목록에 있는 일부 권한으로 제한)을 보유한 앱에 보기 권한을 부여하는 기능
- 이전에 지원되던
hasFoo()
스타일 외에 주석 프로세서의 불리언 필드를 위한isFoo()
스타일의 getter 지원 @RequiresFeature
로 보호되는 새로운 기능 지원.AppSearchSession#getFeatures
를 사용하여 현재 백엔드에서 지원하는 항목을 확인할 수 있습니다.- 개별 문서의 13,000개 토큰 한도 삭제
- ASCII가 아닌 문자 및 영숫자가 아닌 문자(예: 그림 이모티콘)에 매칭 허용
버그 수정
- 호환되지 않는 중첩된 유형을 재정의할 때
SetSchema
에 실패하는 버그를 수정했습니다. - AppSearch
@Document
클래스로 사용되고 있는@AutoValue
주석이 달린 클래스를 완전히 지원하도록 수정했습니다. - Document 클래스의 반복되는 목록 및 기타 문제와 관련된 일부 비정상 종료 문제를 수정했습니다.
- 특정 상황에서 접두어 검색이 다운되는 버그를 수정했습니다.
GetStorageInfo
에서 IO 실패가 발생했을 때 잘못된 값을 반환하는 일부 버그를 수정했습니다.- 문서를 읽을 때 발생하던
BUSADDERR
오류를 수정했습니다. - 형식이 지정되지 않은 지문 출력으로 인해 발생하는 Logcat 손상을 수정했습니다.
- IO 실패로 인한 NPE 문제를 수정했습니다.
GetSchemaType
,Get
,Delete
,DeleteByNamespace
,DeleteBySchemaType
의 메모리 누수를 수정했습니다.
버전 1.0.0
버전 1.0.0-alpha04
2021년 11월 3일
androidx.appsearch:appsearch-*:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- Guava ListenableFuture 종속 항목을 자동으로 API 종속 항목으로 가져옵니다.
API 변경사항
- 각각의 일치 항목에 관한 자세한 정보를 제공하는 SearchResult#getSubmatchRange()와 SearchResult#getSubmatch()를 추가했습니다. (I2fef6)
- 패키지 이름과 인증서별로 데이터를 공유하기 위한 PackageIdentifier 지문 생성 방법을 명확하게 문서화했습니다.
버그 수정
- 결과 집합이 끝난 후에 사용자가 결과 페이지를 가져오려고 하면 발생하는 비정상 종료 문제를 수정했습니다.
- 잘못된 네임스페이스만 쿼리 필터로 제공된 경우 모든 네임스페이스를 쿼리하는 문제를 수정했습니다.
- 잘못된 네임스페이스만 remove-by-query filtersLo로 제공된 경우 모든 네임스페이스가 삭제되는 문제를 수정했습니다.
- 대용량 문서에서 특정 지점 이후 문서 데이터의 색인 생성이 중지되는 문제를 수정했습니다.
- 토큰화할 때 ASCII가 아닌 숫자가 포함된 세그먼트가 누락되는 문제를 수정했습니다.
- 초기화를 방해하는 잠재적 불량 상태를 해결하기 위해 초기화 시도가 연속 실패할 때 실행되는 검사를 추가합니다.
버전 1.0.0-alpha03
2021년 7월 21일
androidx.appsearch:appsearch-*:1.0.0-alpha03
이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 클라이언트가 Android S에서 출시되는 새로운
android.app.appsearch.AppSearchManager
서비스와 함께 AppSearch API를 사용할 수 있도록 플랫폼 저장소 백엔드가 출시되었습니다. 자세한 내용은 AppSearch 개발자 가이드를 참고하세요. - AutoValue에 주석 프로세서를 지원합니다.
- 단일 문자열 속성의 최대 크기 제한을 삭제했습니다.
- 초기화 지연 시간을 줄이기 위한 새로운 저장 형식을 제공합니다.
- 이전 저장 형식에서 새 저장 형식으로의 일회성 내부 데이터를 이전했습니다.
버그 수정
- 새 문서 삽입 시 최대 문서 한도가 정확하게 적용됩니다.
- AppSearchSession 생성 중 발생하는 비정상 종료 문제가 해결되었습니다.
- SetSchema에서 이전 버전과의 비호환성 및 색인 비호환성을 일부 감지하지 못하는 버그를 수정했습니다.
버전 1.0.0-alpha02
2021년 6월 30일
androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
및 androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- 한국어/중국어/일본어/태국어를 완전히 지원합니다.
androidx.appsearch:appsearch-local-storage
의 크기를 줄였습니다.- 반복 속성의 최대 크기 제한을 삭제했습니다.
- 빌더 클래스의 재사용을 허용합니다.
- 더 쉬운 디버깅을 위해 특정 객체의
toString()
을 개선했습니다. - Javadoc 문서를 개선했습니다.
API 변경사항
SearchResult#getMatches
에서SearchResult#getMatchInfos
로 이름이 변경되었습니다.@Document.Int64Property
에서@Document.LongProperty
로 이름이 변경되었습니다.
버그 수정
- 결과 스니펫 계산을 개선하고 수정했습니다.
- AppSearchSession 초기화에서 발생하는 버그를 수정했습니다.
버전 1.0.0-alpha01
2021년 5월 5일
androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
및 androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
AppSearch는 전체 텍스트 검색을 통해 데이터 색인을 생성하고 데이터를 검색하는 API를 사용하여 로컬에 저장된 구조화된 데이터를 관리하는 검색 라이브러리입니다. 사용자를 위한 맞춤 인앱 검색 기능을 빌드하는 데 사용합니다. 최초 출시 버전은 1.0.0-alpha01
입니다.