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 24 tháng 5 năm 2023 | - | - | - | 1.1.0-alpha03 |
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-alpha03" 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-alpha03" 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-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 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 để tham gia 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 Người và
ContactPoint
để truy vấn khối liệu Người trongAppSearch
. (Ia58f9) - Thêm loại Tài liệu mới
ImageObject
được mô hình hoá sau http://schema.org/ImageObject. (I6a0c0) - Thêm một trình tạo mã thông báo
VERBATIM
để cho phép thêm các thuộc tính mà không cần diễn giải theoAppSearch
. (I47bc0) - Thêm
RFC822_TOKENIZATION
làm loại trình tạo mã thông báo, cho phép mã hoá địa chỉ email bằng mã thông báo. (I8a390) - Bật tính năng Tìm kiếm toàn cầu trong Chế độ xem gỡ lỗi. (I51fb2)
Các thay đổi về API
- Xoá những 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 bằng một 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 bộ nhớ appsearch-platform-storage (Ia8e61)
- Khắc phụ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
Các 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.
Các 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
Các 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
Các 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
.