AppSearch
Bản cập nhật mới nhất | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
---|---|---|---|---|
Ngày 11 tháng 12 năm 2024 | - | - | - | 1.1.0-alpha07 |
Khai báo phần phụ thuộc
Để thêm một phần phụ thuộc trên AppSearch, bạn phải thêm kho lưu trữ Google Maven vào dự án. Hãy đọc bài viết Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle
cho ứng dụng hoặc mô-đun của mình:
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") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem nội dung Thêm phần phụ thuộc cho bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.
Phiên bản 1.1
Phiên bản 1.1.0-alpha07
Ngày 11 tháng 12 năm 2024
Phát hành androidx.appsearch:appsearch-*:1.1.0-alpha07
. Phiên bản 1.1.0-alpha07 bao gồm các thay đổi sau.
Tính năng mới
- Thêm chú thích
ExperimentalAppSearchApi
vào các nền tảng API mới chưa ổn định. (Ib09f4) - Hỗ trợ lưu trữ và chia sẻ dữ liệu blob nhị phân một cách hiệu quả thông qua
AppSearchSession#openBlobForWriteAsync
và các phương thức liên quan - Hỗ trợ lọc kết quả truy vấn bằng cách tính điểm biểu thức thông qua hàm
matchScoreExpression
(Id525a) - Hỗ trợ việc truyền thao tác xoá từ tài liệu mẹ sang tài liệu con. (Ia032d)
- Hỗ trợ API lượng tử hoá nhúng để tăng hiệu suất nhúng với mức giảm chất lượng nhỏ. (Id8a07)
- Hỗ trợ việc hạn chế tìm kiếm ở một số tài liệu nhất định bằng API
addFilterDocumentIds
trongSearchSpec
. (I7c6f1)
Thay đổi về API
- Di chuyển thông tin về loại mẹ từ
GenericDocument
sangSearchResult
. (I34a1d) - Hỗ trợ các loại thao tác mới trong API
TakenAction
, bao gồmDismissAction
vàImpressionAction
. (I0c6c7) - Thêm giản đồ tích hợp AppSearch mới
WebPage
. (I28127)
Phiên bản 1.1.0-alpha06
Ngày 16 tháng 10 năm 2024
Phát hành androidx.appsearch:appsearch-*:1.1.0-alpha06
. Phiên bản 1.1.0-alpha06 bao gồm các thay đổi sau.
Thay đổi về API
- Thêm nút đại diện cho hàm truy vấn
PropertyDefined
. (I1aeaf) - Thêm các nút để biểu thị tính năng tìm kiếm bằng số và hạn chế thuộc tính. (I963a9)
- Thêm nút đại diện cho hàm truy vấn
GetSearchStringParameter
. (I4f99b) - Thêm nút đại diện cho hàm truy vấn
HasProperty
. (I9c1c5) - Thêm giao diện để triển khai các hàm trong AST. (I9d42e)
- Thêm toán tử AND và OR. (Iaa442)
- Thêm
NegationNode
để biểu thị phủ định logic của các truy vấn trong AST. (Ia855a) - Thêm giao diện Nút vào
AppSearch
để xác định các nút. (If42fb) - Thêm chú thích API thử nghiệm cho
AppSearch
. (I3e57c)
Sửa lỗi
- Thêm
TextNodes
để giữ các điều khoản. (Iefd02)
Bản sửa lỗi bảo mật
- Kể từ thay đổi này, androidx sẽ biên dịch dựa trên protobuf 4.28.2 để giải quyết CVE-2024-7254. Nâng cấp phần phụ thuộc trên
androidx.appsearch:appsearch-external-protobuf
lên phiên bản 1.1.0-alpha06 mới nhất để giải quyết rủi ro về lỗ hổng.
Phiên bản 1.1.0-alpha05
Ngày 4 tháng 9 năm 2024
Phát hành androidx.appsearch:appsearch-*:1.1.0-alpha05
. Phiên bản 1.1.0-alpha05 bao gồm các thay đổi sau.
Thay đổi về API
- Ngừng sử dụng
setEmbeddingSearchEnabled
vàgetEmbeddingSearchEnabled
không cần thiết. XoásetListFilterTokenizeFunctionEnabled
vàgetListFilterTokenizeFunctionEnabled
. Xoá hàm truy vấn "tokenize". Thay thế bằng hàm truy vấngetSearchStringParameter
và hàmaddSearchStringParameter
. (I09f5a) - Đổi tên
Alarm#getComputingDevice
thànhgetOriginatingDevice
. (I63121)
Phiên bản 1.1.0-alpha04
Ngày 7 tháng 8 năm 2024
Phát hành androidx.appsearch:appsearch-*:1.1.0-alpha04
. Phiên bản 1.1.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- Hỗ trợ triển khai
PlayServicesStorage
mới, cho phép sử dụngAppSearch
trên các thiết bị cũ mà không phải chịu chi phí đáng kể về kích thước tệp APK củaLocalStorage
. Phương thức triển khai bộ nhớ này hoạt động bằng cách lưu trữ dữ liệu ứng dụng trong ứng dụng Dịch vụ Play. - Hỗ trợ các API mới trên các thiết bị chạy Android 15.
- Hỗ trợ tìm kiếm cơ sở dữ liệu bằng cách nhúng các vectơ, cho phép so khớp mờ. (I2b41b)
- Hỗ trợ các loại mẹ và tính đa hình trong mô hình giản đồ
AppSearch
. (I06118) - Hỗ trợ API
TakenAction
cho phép ứng dụng báo cáo thời điểm người dùng nhấp vào hoặc bỏ qua kết quả để nâng cao chất lượng trong các lượt tìm kiếm tiếp theo. (I54091) - Hỗ trợ các lớp có trình tạo trong trình xử lý chú thích bằng cách giới thiệu chú thích
@Document.BuilderProducer
mới. (Iec30a) - Hỗ trợ kiểm soát chi tiết hơn về việc lập chỉ mục thuộc tính nào của tài liệu lồng nhau. (Iec30a)
- Hỗ trợ lọc nội dung tìm kiếm theo một số thuộc tính tài liệu nhất định. (Ib2659)
- Hỗ trợ chế độ cài đặt chế độ hiển thị chi tiết hơn bằng cách cho phép OR và AND của chế độ cài đặt chế độ hiển thị. (I0274b)
- Hỗ trợ cấp quyền hiển thị dữ liệu cho tất cả ứng dụng có thể thấy sự tồn tại của ứng dụng sở hữu (quyền hiển thị công khai). (I992e4)
- Hỗ trợ chỉ truy xuất những kết quả có dữ liệu được điền sẵn trong một thuộc tính nhất định. (I7d94f)
- Hỗ trợ truy xuất thông tin liên hệ của doanh nghiệp trong hồ sơ cá nhân. (Idd587)
Thay đổi về API
- Thêm các tham số chú thích
indexableNestedPropertiesList
vàinheritIndexableNestedPropertiesFromSuperclass
vào chú thíchDocument.DocumentProperty
của AppSearch để cho phép lập chỉ mục các đường dẫn tài sản lồng nhau cụ thể. (Iec30a) - Hỗ trợ hàm khởi tạo trình tạo để tạo các thực thể trình tạo trong trình xử lý chú thích
AppSearch
(I265c9) - Cập nhật trình xử lý chú giải
AppSearch
để hỗ trợ việc đặt loại mẹ cho tính đa hình (I06118) - Thêm phương thức
GetSchemaRequest
để xoá chế độ cài đặt chế độ hiển thị (I38379) - Hỗ trợ
addParentType
trong AppSearch cho tính đa hình (Ida14a) - Thêm API cho các biểu thức xếp hạng bổ sung (I5d9f4)
- Thêm API
SearchAction
(I54091) - Thêm trường mô tả cho các loại
AppSearch
(I84762) - Nhúng API truy vấn tìm kiếm và xếp hạng vào
AppSearch
(I0f6c3) - Xoá
getDeletionPropagation
(I21192)
Phiên bản 1.1.0-alpha03
Ngày 24 tháng 5 năm 2023
Phát hành androidx.appsearch:appsearch-*:1.1.0-alpha03
. Phiên bản 1.1.0-alpha03 bao gồm các thay đổi sau.
Tính năng mới
- Hỗ trợ API truy vấn nâng cao, API tính điểm nâng cao và tìm kiếm bằng số. (I02d48)
- Thêm API
LocalStorage.createGlobalSearchSession
để tìm kiếm trên tất cả cơ sở dữ liệu trong bộ nhớ cục bộ của một ứng dụng. (Id3c89) - Thêm API để kết hợp các tài liệu theo mã nhận dạng (Iaecfa)
- Hỗ trợ trọng số thuộc tính để đánh dấu một số thuộc tính nhất định quan trọng hơn khi sử dụng
RANKING_STRATEGY_RELEVANCE_SCORING
. (I069b9) - Thêm Person và
ContactPoint
để truy vấn tập hợp văn bản Person trongAppSearch
. (Ia58f9) - Thêm loại Tài liệu mới
ImageObject
được mô hình hoá theo http://schema.org/ImageObject. (I6a0c0) - Thêm một trình phân tích cú pháp
VERBATIM
cho phép thêm các thuộc tính mà không cầnAppSearch
diễn giải. (I47bc0) - Thêm
RFC822_TOKENIZATION
làm loại trình phân tích cú pháp, cho phép mã hoá địa chỉ email. (I8a390) - Bật tính năng Tìm kiếm toàn cục trong Chế độ xem gỡ lỗi. (I51fb2)
Thay đổi về API
- Xoá các phương thức trả về
ListenableFuture
và không có hậu tố Async. (I0515f) - Thêm khả năng định cấu hình các phép chiếu theo lớp
Document
. (I94576) - Thêm các trường từ
Thing
vàoAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
vàPerson
(Id876c)
Sửa lỗi
- Hỗ trợ đầy đủ các tính năng của Android 13 trong appsearch-platform-storage (Ia8e61)
- Khắc phục các vấn đề về việc ghi đè tên giản đồ và trường riêng tư khi sử dụng tính kế thừa.
Phiên bản 1.1.0-alpha02
Ngày 24 tháng 8 năm 2022
Phát hành androidx.appsearch:appsearch-*:1.1.0-alpha02
. Phiên bản 1.1.0-alpha02 bao gồm các thay đổi sau.
Tính năng mới
- Tăng tốc quy trình của Optimize bằng cách sử dụng tính năng nén chỉ mục thay vì tạo lại chỉ mục từ đầu
- Thay đổi thẻ ghi nhật ký gốc từ "icing" thành "AppSearchIcing", các thông báo INFO được ghi theo mặc định
Thay đổi về API
- Thêm đối tượng
PropertyPath
mới để xử lý các đường dẫn cũng như thêm các phương thứcaddProjection
mới để chấp nhậnPropertyPath
. (I45588) - Thêm
builtin:Thing
vào loại tích hợpAppSearch
(I55427) - Chặn sớm các tên thuộc tính trống trong
GenericDocument
. Trước đây, các tên thuộc tính này bị chặn tại thời điểm lập chỉ mục; giờ đây, chúng sẽ bị chặn tại thời điểmGenericDocument.Builder.build()
(I9e780)
Sửa lỗi
- Xoá định dạng chuỗi không cần thiết để cải thiện hiệu suất tính điểm RELEVANCE
- Phân trang hiệu quả hơn khi gặp tài liệu không đọc được hoặc đã bị xoá
- Thực hiện thu gom rác cho những truy vấn bị bỏ qua
- Khắc phục tính năng hỗ trợ lập chỉ mục được lồng ghép cho Tài liệu. Trước đây, indexNestedProperties bị bỏ qua. (Iae9a6)
Đóng góp bên ngoài
- Shea Smith: Khắc phục tính năng hỗ trợ lập chỉ mục được lồng ghép cho Tài liệu. (Iae9a6)
Phiên bản 1.1.0-alpha01
Ngày 15 tháng 6 năm 2022
Phát hành androidx.appsearch:appsearch-*:1.1.0-alpha01
. Phiên bản 1.1.0-alpha01 được phát triển trong một nhánh phát hành riêng trước và không có nhật ký cam kết.
Thay đổi về API
- Tất cả các phương thức trả về
ListenableFuture
đều đã được đổi tên thành hậu tố Không đồng bộ. Chẳng hạn nhưgetSchema
đã được đổi tên thànhgetSchemaAsync
. Các phiên bản trước đã ngừng hoạt động và sẽ bị xoá trong bản phát hành sau này.
Tính năng mới
- Bản phát hành đầu tiên của loại tích hợp tìm kiếm ứng dụng. Dự án này chứa một vài loại tích hợp dựa trên schema.org thuận tiện cho khách hàng trong việc sử dụng thay vì xác định loại của riêng họ cho các đối tượng chung. Nhiều loại khác sẽ được thêm vào các bản phát hành trong tương lai.
- Khả năng sử dụng
ShortcutAdapter
để chuyển đổi Tài liệuAppSearch
thànhShortcutInfoCompat
. Nhờ đó, khách hàng có thể chia sẻ tài liệuAppSearch
với Google bằng cách sử dụng thư viện core-google-shortcuts - Có thể dùng tính năng kế thừa với các lớp
@Document
. Bạn không thể thay thế hoặc sửa đổi các trường, nhưng có thể thêm các trường mới bằng cách mở rộng một lớp chú thích bằng@Document
. - Observer API mới cho phép khách hàng đăng ký nhận thông báo khi các loại mà họ có quyền truy cập vào đã thay đổi hoặc khi tài liệu của các loại đó được thêm, sửa đổi hoặc xoá. LƯU Ý QUAN TRỌNG: Cách triển khai hiện tại chỉ ra thông báo khi ứng dụng của bạn đang chạy. Hiện không có cách nào để kiểm tra những thay đổi đã xảy ra khi ứng dụng của bạn đang bị dừng. Do đó, bạn không nên dựa vào API này để hoàn tất.
- API trình phân tích cú pháp thuộc tính cho phép bạn xử lý và kiểm tra đầy đủ các đường dẫn thuộc tính do
MatchInfo#getPropertyPath
trả về. - API
getById
chung vàgetSchema
chung dùng để truy xuất tài liệu cũng như giản đồ từ các ứng dụng khác đã cấp cho bạn khả năng hiển thị. - Khả năng truy xuất thông tin hiển thị trong
getSchema
đối với dữ liệu mà bạn có quyền truy cập - Khả năng cấp quyền hiển thị cho các ứng dụng có một số quyền nhất định trên Android (bị hạn chế trong một nhóm nhỏ các quyền có trong danh sách cho phép)
- Hỗ trợ phương thức getter kiểu
isFoo()
cho các trường boolean trong trình xử lý chú thích, ngoài kiểuhasFoo()
được hỗ trợ trước đó - Hỗ trợ các tính năng mới được bảo vệ sau
@RequiresFeature
. DùngAppSearchSession#getFeatures
để xác định những phần phụ trợ hiện đang hỗ trợ. - Xóa giới hạn mã thông báo ~13k trên từng tài liệu riêng lẻ
- Cho phép so khớp trên các ký tự không phải là ascii + không phải là chữ hay số, chẳng hạn như biểu tượng cảm xúc
Sửa lỗi
- Khắc phục lỗi không thành công
SetSchema
khi ghi đè một loại không tương thích lồng. - Khắc phục lỗi để được hỗ trợ đầy đủ các lớp được chú thích
@AutoValue
đang được dùng làm lớp AppSearch@Document
- Khắc phục một số sự cố liên quan đến việc lặp lại các danh sách của lớp Tài liệu và những vấn đề khác
- Khắc phục lỗi dẫn đến sự cố tìm kiếm tiền tố trong một số trường hợp nhất định
- Khắc phục lỗi nhỏ trong
GetStorageInfo
do trả về các giá trị không chính xác khi gặp lỗi IO - Khắc phục vấn đề
BUSADDERR
khi đọc một tài liệu - Khắc phục tình trạng hỏng logcat xảy ra do việc in vân tay chưa được định dạng
- Khắc phục NPE do lỗi IO gây ra
- Khắc phục sự cố rò rỉ bộ nhớ trong
GetSchemaType
,Get
,Delete
,DeleteByNamespace
vàDeleteBySchemaType
Phiên bản 1.0.0
Phiên bản 1.0.0-alpha04
Ngày 3 tháng 11 năm 2021
Phát hành androidx.appsearch:appsearch-*:1.0.0-alpha04
. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.
Tính năng mới
- Phần phụ thuộc Guava ListenableFuture được tự động đưa vào dưới dạng phần phụ thuộc API
Thay đổi về API
- Hãy thêm SearchResult#getSubmatchRange() và SearchResult#getSubmatch() để cung cấp thêm thông tin về từng kết quả khớp. (I2fef6)
- Làm rõ tài liệu về cách tạo vân tay PackageIdentifier để chia sẻ dữ liệu theo packagename+certificate
Sửa lỗi
- Khắc phục sự cố khi người dùng tìm nạp các trang kết quả sau khi kết thúc bộ kết quả
- Khắc phục vấn đề liên quan đến tất cả không gian tên được truy vấn nếu chỉ có vùng chứa tên không hợp lệ được cung cấp làm bộ lọc truy vấn
- Khắc phục vấn đề với tất cả các vùng chứa tên bị xoá nếu chỉ có vùng chứa tên không hợp lệ được cung cấp dưới dạng remove-by-query filtersLo
- Khắc phục vấn đề về việc dữ liệu tài liệu ngừng được lập chỉ mục sau một điểm nhất định đối với các tài liệu có kích thước rất lớn
- Khắc phục vấn đề việc mã hoá sẽ làm loại bỏ phân khúc với các ký tự số không phải ASCII
- Thêm tính năng kiểm tra các lần khởi chạy không thành công liên tiếp để giúp thoát khỏi trạng thái xấu có thể ngăn chặn việc khởi chạy thành công.
Phiên bản 1.0.0-alpha03
Ngày 21 tháng 7 năm 2021
Phát hành androidx.appsearch:appsearch-*:1.0.0-alpha03
. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.
Tính năng mới
- Phát hành Phần phụ trợ bộ nhớ nền tảng để cho phép khách hàng sử dụng API AppSearch với dịch vụ
android.app.appsearch.AppSearchManager
mới phát hành trong Android S. Để biết thêm thông tin, vui lòng truy cập Hướng dẫn cho nhà phát triển AppSearch. - Hỗ trợ trình xử lý chú giải cho AutoValue
- Xoá giới hạn kích thước tối đa của thuộc tính chuỗi đơn
- Định dạng bộ nhớ mới để giảm độ trễ khởi chạy
- Di chuyển dữ liệu nội bộ một lần từ định dạng bộ nhớ cũ sang định dạng bộ nhớ mới
Sửa lỗi
- Thực thi chính xác giới hạn tài liệu tối đa khi chèn tài liệu mới
- Khắc phục sự cố trong quá trình tạo AppSearchSession
- Khắc phục các lỗi trong SetSchema không phát hiện được một số trường hợp không có khả năng tương thích ngược và không có khả năng tương thích với chỉ mục
Phiên bản 1.0.0-alpha02
Ngày 30 tháng 6 năm 2021
Phát hành androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
và androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.
Tính năng mới
- Hỗ trợ đầy đủ tiếng Trung/Tiếng Nhật/Tiếng Hàn/Tiếng Thái
- Giảm kích thước của
androidx.appsearch:appsearch-local-storage
- Xoá giới hạn kích thước tối đa của các thuộc tính lặp lại
- Cho phép sử dụng lại các lớp trình tạo
- Những điểm cải tiến trong
toString()
đối tượng nhất định để dễ dàng gỡ lỗi hơn - Những điểm cải tiến trong tài liệu Javadoc
Thay đổi về API
- Đổi tên
SearchResult#getMatches
thànhSearchResult#getMatchInfos
- Đổi tên
@Document.Int64Property
thành@Document.LongProperty
Sửa lỗi
- Những điểm cải tiến và sửa lỗi để tính toán đoạn trích kết quả
- Sửa lỗi trong quá trình khởi chạy AppSearchSession
Phiên bản 1.0.0-alpha01
Ngày 5 tháng 5 năm 2021
Phát hành androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
và androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
. Phiên bản 1.0.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
AppSearch là một thư viện tìm kiếm trên thiết bị để quản lý dữ liệu có cấu trúc được lưu trữ cục bộ, kèm theo các API để lập chỉ mục dữ liệu và truy xuất dữ liệu bằng phương thức tìm kiếm toàn bộ văn bản. Bạn có thể sử dụng thư viện này để xây dựng chức năng tìm kiếm tuỳ chỉnh trong ứng dụng cho người dùng. Bản phát hành đầu tiên này là 1.0.0-alpha01
.