AppSearch

AppSearch คือไลบรารีการค้นหาในอุปกรณ์สำหรับจัดการข้อมูลที่มีโครงสร้างที่จัดเก็บไว้ในเครื่อง โดยมี API สำหรับจัดทำดัชนีข้อมูลและดึงข้อมูลโดยใช้การค้นหาแบบข้อความเต็ม ใช้เพื่อสร้างความสามารถในการค้นหาในแอปที่กำหนดเองสำหรับผู้ใช้
อัปเดตล่าสุด รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
25 มีนาคม 2026 1.1.0 - - 1.2.0-alpha01

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ใน AppSearch คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ แอปหรือโมดูล

ดึงดูด

dependencies {
    def appsearch_version = "1.2.0-alpha01"

    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"

    // PlayServicesStorage is compatible with all devices that support Google Play Services on
    // all API levels. It offers the same features as PlatformStorage and is the recommended
    // solution for lower API levels on which PlatformStorage is not supported.
    implementation "androidx.appsearch:appsearch-play-services-storage:$appsearch_version"
}

Kotlin

dependencies {
    val appsearch_version = "1.2.0-alpha01"

    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")

    // PlayServicesStorage is compatible with all devices that support Google Play Services on
    // all API levels. It offers the same features as PlatformStorage and is the recommended
    // solution for lower API levels on which PlatformStorage is not supported.
    implementation("androidx.appsearch:appsearch-play-services-storage:$appsearch_version")

}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพาบิลด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยเราปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา

เวอร์ชัน 1.2

เวอร์ชัน 1.2.0-alpha01

25 มีนาคม 2026

androidx.appsearch:appsearch-*:1.2.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • ปิดใช้และซ่อน API การส่งต่อการลบ (Ia4073, b/384947619)
  • เปลี่ยน setSchemaTypeWipeoutAccountPropertyPaths เพื่อถ่ายภาพชุด (If442c, b/470398298)
  • รองรับการมองเห็นสำหรับ Process#isPccUid (I2ee69, b/463863587)
  • ซ่อนตัวสร้างบางรายการที่เปิดเผยโดยไม่ตั้งใจในประเภทในตัวของ AppSearch (I98583, b/463386955)
  • เพิ่ม AppSearchSchema#fromDocumentClass ซึ่งจะแสดงผลสคีมาที่สร้างขึ้นสำหรับคลาสที่ใส่คำอธิบายประกอบ @Document (I599ad, b/458101236)
  • เพิ่ม setSchemaTypeWipeoutAccountPropertyPaths ไปยัง GetSchemaResponse (I8f6d4, b/413089233)
  • เพิ่ม API การล้างข้อมูลบัญชีใน SetSchemaRequest (Id5a47, b/413089233)
  • เพิ่มคลาส Builder เพื่อสร้างบัญชีประเภทในตัว (I29d07, b/429110646)
  • เพิ่ม AppSearch delete propagation API (I57f89, b/384947619)
  • เพิ่มอินเทอร์เฟซที่ใช้ร่วมกันสำหรับ GlobalSearchSession และ EnterpriseGlobalSearchSession (If2a70, b/422241546)
  • ล้าง ExperimentalAppSearchApi จาก Blob API (I610e8, b/273591938)
  • เพิ่มประเภทชื่อเล่นในตัว (I8aba0)
  • เพิ่ม Action Accumulator API (I3f778, b/395157195)
  • ย้ายพร็อพเพอร์ตี้ที่ซ้อนกันซึ่งจัดทำดัชนีได้ไปยังฟีเจอร์ใหม่ (I4cf95, b/407815165)
  • การนำคำอธิบายประกอบ @RequiresApi(21) ที่ล้าสมัยออก (Ic4792)
  • เพิ่มบัญชีประเภทใหม่ที่สร้างไว้ล่วงหน้า (Iadad6, b/422079057)
  • เพิ่มAppSearchResult#RESULT_UNAVAILABLEรหัสข้อผิดพลาดของผลลัพธ์ (I48411, b/407815165, b/404210068, b/415387509, b/419875333, b/417461575, b/415031127, b/357835538)
  • เพิ่ม Action Accumulator API (I97818, b/395157195)
  • เพิ่มAppSearchResultรหัสRESULT_ABORTEDใหม่ (I6c375, b/409070736)
  • เหตุการณ์ที่แก้ไขต้องใช้ API O (I4433b, b/399728815)
  • เพิ่มAppSearchสคีมาในตัวSportsEventใหม่ (I0dea6, b/399728815)
  • เพิ่ม AppSearch สคีมาในตัว SportsTeam ใหม่ (I073cd, b/399728815)
  • เพิ่มAppSearchสคีมาในตัวSportsOrganizationใหม่ (I5729c, b/399728815)
  • เพิ่มAppSearchสคีมาในตัวOrganizationใหม่ (I4bb2d, b/399728815)
  • เพิ่มAppSearchสคีมาในตัวEventใหม่ (Ifd646, b/399728815)
  • โปรเจ็กต์ที่เผยแพร่ด้วย Kotlin 2.0 ต้องใช้ KGP 2.0.0 ขึ้นไป (Idb6b5, b/344563182)
  • ทำให้ WebPage ขยายได้ (I622f7, b/399220908)
  • เพิ่มฟิลด์แหล่งที่มาใน WebPage (Ic4d7b, b/399220908)
  • เปลี่ยนพารามิเตอร์ของตัวสร้าง TextMatchInfo (Ie29c3, b/403591188, b/395128139)

การแก้ไขข้อบกพร่อง

  • ย้ายไลบรารีไปใช้เป้าหมาย Java 11 ซึ่งหมายความว่าไบต์โค้ดที่สร้างขึ้นจะเป็น Java 11 (ไฟล์คลาสเวอร์ชัน 55) และอาจต้องมีกระบวนการ Desugaring เพื่อใช้ไลบรารี (If4c2a, b/457821470)
  • SearchFeatures และRankingFeatures (I54b7d, b/387291182)
  • ใช้แฟล็กการส่งต่อการลบใหม่ (If21ae, b/384947619)
  • เพิ่มการบันทึกภายในที่ละเอียดยิ่งขึ้น (I10604, b/448872333)
  • เพิ่ม allowoptimization กลับไปที่กฎการเก็บรักษา ProGuard สำหรับ AppSarchDocumentClassMap (I0bd88, b/440484133)
  • แก้ไขข้อบกพร่องในการสร้างที่เพิ่มประสิทธิภาพซึ่งการอ้างอิงถึงคลาสเอกสาร AppSearch อาจถูกแทนที่ด้วยคลาสที่ไม่เกี่ยวข้องเนื่องจากการผสานคลาสในแนวนอน (I93f20, b/440484133)
  • เพิ่มISOLATED_STORAGEฟีเจอร์ (Ifb963)

เวอร์ชัน 1.1

เวอร์ชัน 1.1.0

2 กรกฎาคม 2025

androidx.appsearch:appsearch-*:1.1.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0 มีการเปลี่ยนแปลงเหล่านี้

เวอร์ชัน 1.1.0-rc01

20 พฤษภาคม 2025

androidx.appsearch:appsearch-*:1.1.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-rc01 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

  • AppSearch เข้าสู่ RC
  • เพิ่ม API เวอร์ชันทดลองใหม่เพื่อสะสมการดำเนินการสำหรับเมธอด PutDocumentsRequest#addTakenAction (I7b726)
  • เพิ่ม SearchResult#TextMatchInfo, SearchResult#EmbeddingMatchInfo; ปรับโครงสร้าง SearchResult#MatchInfo เพื่อให้ข้อมูลการจับคู่สำหรับการจับคู่การฝัง (I8f78d)
  • เปิดตัวฟังก์ชันการจัดอันดับสำหรับการจัดการรายการ (Ifa4ab)

การเปลี่ยนแปลง API

  • รองรับโปรเซสเซอร์สำหรับคำอธิบายประกอบ AppSearch สำหรับพร็อพเพอร์ตี้แฮนเดิลของ Blob (I9520b)
  • อัปเดตโปรเซสเซอร์สำหรับคำอธิบายประกอบ AppSearch เพื่อรองรับการหาปริมาณ (Ie0c85)
  • เพิ่มเมธอด getFeatures() แบบคงที่ลงในทั้ง PlatformStorage และ LocalStorage (I5a206)

การแก้ไขข้อบกพร่อง

  • ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (I91f42, b/326456246)

เวอร์ชัน 1.1.0-beta01

15 มกราคม 2025

androidx.appsearch:appsearch-*:1.1.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-beta01 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

  • AppSearch เข้าสู่เวอร์ชันเบต้า

การเปลี่ยนแปลง API

  • ปิดใช้ API การแพร่กระจายการลบเวอร์ชันทดลอง AppSearch เนื่องจากปัญหาด้านความเสถียร (Iea386)
  • สร้าง GlobalSearchApplicationInfo API ซึ่งเป็นวิธีทดลองและไม่บังคับสำหรับผู้ผลิตและผู้บริโภคในการระบุความสนใจในเนื้อหาบางประเภท (I116fd)
  • การเปลี่ยนแปลงเล็กน้อยใน API ของ AST (เครื่องมือสร้างคำค้นหา) ที่เป็นเวอร์ชันทดลอง (Ibd852)

การแก้ไขข้อบกพร่อง

  • ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง -Xjspecify-annotations=strict (นี่คือค่าเริ่มต้นที่เริ่มต้นด้วยคอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (Ic2976, b/326456246)
  • เพิ่มสิทธิ์ที่จำเป็นให้กับ searchPersonCorpus (I4431d)

เวอร์ชัน 1.1.0-alpha07

11 ธันวาคม 2024

androidx.appsearch:appsearch-*:1.1.0-alpha07 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha07 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มคำอธิบายประกอบ ExperimentalAppSearchApi ไปยัง API ใหม่ที่ยังไม่เสถียร (Ib09f4)
  • รองรับการจัดเก็บและแชร์ข้อมูล Blob แบบไบนารีอย่างมีประสิทธิภาพผ่าน AppSearchSession#openBlobForWriteAsync และวิธีการที่เกี่ยวข้อง
  • รองรับการกรองผลการค้นหาโดยใช้นิพจน์การให้คะแนนผ่านฟังก์ชัน matchScoreExpression (Id525a)
  • รองรับการเผยแพร่การลบจากเอกสารหลักไปยังเอกสารย่อย (Ia032d)
  • รองรับการฝัง API การหาปริมาณเพื่อเพิ่มประสิทธิภาพการฝังโดยสูญเสียคุณภาพเล็กน้อย (Id8a07)
  • รองรับการจำกัดการค้นหาเฉพาะเอกสารบางรายการโดยใช้ addFilterDocumentIds API ใน SearchSpec (I7c6f1)

การเปลี่ยนแปลง API

  • ย้ายข้อมูลประเภทหลักจาก GenericDocument ไปยัง SearchResult (I34a1d)
  • รองรับประเภทการกระทำใหม่ใน TakenAction API ซึ่งรวมถึง DismissAction และ ImpressionAction (I0c6c7)
  • เพิ่มสคีมาในตัวของ AppSearch ใหม่ WebPage (I28127)

เวอร์ชัน 1.1.0-alpha06

16 ตุลาคม 2024

androidx.appsearch:appsearch-*:1.1.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่มโหนดที่แสดงฟังก์ชันการค้นหา PropertyDefined (I1aeaf)
  • เพิ่มโหนดเพื่อแสดงการค้นหาตัวเลขและการจำกัดพร็อพเพอร์ตี้ (I963a9)
  • เพิ่มโหนดที่แสดงฟังก์ชันการค้นหา GetSearchStringParameter (I4f99b)
  • เพิ่มโหนดที่แสดงฟังก์ชันการค้นหา HasProperty (I9c1c5)
  • เพิ่มอินเทอร์เฟซสำหรับการใช้ฟังก์ชันใน AST (I9d42e)
  • เพิ่มโอเปอเรเตอร์ AND และ OR (Iaa442)
  • เพิ่ม NegationNode เพื่อแสดงการปฏิเสธเชิงตรรกะของการค้นหาใน AST (Ia855a)
  • เพิ่มอินเทอร์เฟซโหนดไปยัง AppSearch เพื่อกำหนดโหนด (If42fb)
  • เพิ่มคำอธิบายประกอบ API เวอร์ชันทดลองสำหรับ AppSearch (I3e57c)

การแก้ไขข้อบกพร่อง

  • เพิ่ม TextNodes สำหรับข้อกำหนดในการถือครอง (Iefd02)

การแก้ไขด้านความปลอดภัย

  • นับจากการเปลี่ยนแปลงนี้ AndroidX จะคอมไพล์กับ protobuf 4.28.2 เพื่อแก้ไข CVE-2024-7254 อัปเกรดทรัพยากร Dependency ใน androidx.appsearch:appsearch-external-protobuf เป็นเวอร์ชันล่าสุด 1.1.0-alpha06 เพื่อจัดการความเสี่ยงจากช่องโหว่

เวอร์ชัน 1.1.0-alpha05

4 กันยายน 2024

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

7 สิงหาคม 2024

androidx.appsearch:appsearch-*:1.1.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha04 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รองรับการนำ PlayServicesStorage ใหม่ไปใช้ ซึ่งช่วยให้ใช้ AppSearch ในอุปกรณ์รุ่นเก่าได้โดยไม่ต้องเสียค่าใช้จ่ายด้านขนาด APK จำนวนมากของ LocalStorage การติดตั้งใช้งานพื้นที่เก็บข้อมูลนี้จะทำงานโดยการจัดเก็บข้อมูลแอปภายในแอปบริการ Google Play
  • รองรับ API ใหม่ในอุปกรณ์ที่ใช้ Android 15
  • รองรับการค้นหาฐานข้อมูลโดยการฝังเวกเตอร์ ซึ่งช่วยให้จับคู่แบบคร่าวๆ ได้ (I2b41b)
  • รองรับประเภทหลักและการพ้องรูปภายในAppSearchโมเดลสคีมา (I06118)
  • รองรับ TakenAction API ที่อนุญาตให้แอปรายงานเมื่อมีการคลิกหรือละทิ้งผลการค้นหา เพื่อเพิ่มคุณภาพระหว่างการค้นหาในภายหลัง (I54091)
  • รองรับคลาสที่มีบิลเดอร์ในโปรเซสเซอร์สำหรับคำอธิบายประกอบโดยการเปิดตัวคำอธิบายประกอบ @Document.BuilderProducer ใหม่ (Iec30a)
  • รองรับการควบคุมที่ละเอียดยิ่งขึ้นเกี่ยวกับพร็อพเพอร์ตี้ของเอกสารที่ซ้อนกันที่จะได้รับการจัดทำดัชนี (Iec30a)
  • รองรับการกรองการค้นหาตามพร็อพเพอร์ตี้ของเอกสารบางอย่าง (Ib2659)
  • รองรับการตั้งค่าระดับการเข้าถึงที่ละเอียดยิ่งขึ้นโดยอนุญาตให้ใช้ OR และ AND ของการตั้งค่าระดับการเข้าถึง (I0274b)
  • รองรับการให้สิทธิ์การมองเห็นข้อมูลแก่แอปทั้งหมดที่ดูการมีอยู่ของแอปที่เป็นเจ้าของได้ (การมองเห็นแบบสาธารณะ) (I992e4)
  • รองรับการดึงเฉพาะผลลัพธ์ที่มีการป้อนข้อมูลในพร็อพเพอร์ตี้หนึ่งๆ (I7d94f)
  • รองรับการดึงข้อมูลรายชื่อติดต่อขององค์กรในโปรไฟล์ส่วนตัว (Idd587)

การเปลี่ยนแปลง API

  • เพิ่มพารามิเตอร์คำอธิบายประกอบ indexableNestedPropertiesList และ inheritIndexableNestedPropertiesFromSuperclass ลงในDocument.DocumentPropertyคำอธิบายประกอบของ AppSearch เพื่ออนุญาตการจัดทำดัชนีเส้นทางพร็อพเพอร์ตี้ที่ซ้อนกันโดยเฉพาะ (Iec30a)
  • สร้างเครื่องมือสร้างการสนับสนุนเพื่อสร้างอินสแตนซ์เครื่องมือสร้างในโปรเซสเซอร์สำหรับคำอธิบายประกอบ AppSearch (I265c9)
  • อัปเดตโปรเซสเซอร์สำหรับคำอธิบายประกอบ AppSearch เพื่อรองรับการตั้งค่าประเภทระดับบนสำหรับการพ้องรูป (I06118)
  • เพิ่มGetSchemaRequest วิธีล้างการตั้งค่าระดับการเข้าถึง (I38379)
  • รองรับ addParentType ใน AppSearch สำหรับ Polymorphism (Ida14a)
  • เพิ่ม API สำหรับนิพจน์การจัดอันดับเพิ่มเติม (I5d9f4)
  • เพิ่ม SearchAction API (I54091)
  • เพิ่มฟิลด์คำอธิบายสำหรับประเภท AppSearch (I84762)
  • เริ่มต้นใช้งาน API การค้นหาและการจัดอันดับการฝังใน AppSearch (I0f6c3)
  • นำ getDeletionPropagation ออก (I21192)

เวอร์ชัน 1.1.0-alpha03

24 พฤษภาคม 2023

androidx.appsearch:appsearch-*:1.1.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha03 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รองรับ API การค้นหาขั้นสูง, API การให้คะแนนขั้นสูง และการค้นหาตัวเลข (I02d48)
  • เพิ่ม LocalStorage.createGlobalSearchSession API เพื่อค้นหาในฐานข้อมูลทั้งหมดภายในที่เก็บข้อมูลในเครื่องของแอปเดียว (Id3c89)
  • เพิ่ม API เพื่อรวมเอกสารตามรหัส (Iaecfa)
  • รองรับน้ำหนักพร็อพเพอร์ตี้เพื่อทำเครื่องหมายว่าพร็อพเพอร์ตี้บางรายการมีความสำคัญมากกว่าเมื่อใช้ RANKING_STRATEGY_RELEVANCE_SCORING (I069b9)
  • เพิ่ม Person และ ContactPoint เพื่อค้นหาคลังข้อมูล Person ใน AppSearch (Ia58f9)
  • เพิ่มประเภทเอกสารใหม่ ImageObject ที่จำลองมาจาก http://schema.org/ImageObject (I6a0c0)
  • เพิ่ม VERBATIM ตัวแยกโทเค็นที่อนุญาตให้เพิ่มพร็อพเพอร์ตี้โดยไม่ต้องมีการตีความโดย AppSearch (I47bc0)
  • เพิ่ม RFC822_TOKENIZATION เป็นประเภทตัวแยกโทเค็น ซึ่งอนุญาตให้สร้างโทเค็นของอีเมล (I8a390)
  • เปิดใช้การค้นหาทั่วโลกในมุมมองการแก้ไขข้อบกพร่อง (I51fb2)

การเปลี่ยนแปลง API

  • นำเมธอดที่แสดงผล ListenableFuture และไม่มีคำต่อท้าย Async ออก (I0515f)
  • เพิ่มความสามารถในการกำหนดค่าการฉายภาพตามDocumentชั้นเรียน (I94576)
  • เพิ่มฟิลด์จาก Thing ถึง Alarm, AlarmInstance, Timer, Stopwatch, StopwatchLap, ContactPoint และ Person (Id876c)

การแก้ไขข้อบกพร่อง

  • รองรับฟีเจอร์ Android 13 อย่างเต็มรูปแบบใน appsearch-platform-storage (Ia8e61)
  • แก้ไขปัญหาเกี่ยวกับการลบล้างชื่อสคีมาและฟิลด์ส่วนตัวเมื่อใช้การรับค่า

เวอร์ชัน 1.1.0-alpha02

24 สิงหาคม 2022

androidx.appsearch:appsearch-*:1.1.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha02 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เร่งกระบวนการเพิ่มประสิทธิภาพโดยใช้การบีบอัดดัชนีแทนการสร้างดัชนีใหม่ตั้งแต่ต้น
  • เปลี่ยนแท็กการบันทึกดั้งเดิมจาก "icing" เป็น "AppSearchIcing" และบันทึกข้อความ INFO โดยค่าเริ่มต้น

การเปลี่ยนแปลง API

  • เพิ่มPropertyPathออบเจ็กต์ใหม่สำหรับการทำงานกับเส้นทาง และเพิ่มเมธอดใหม่ addProjection เพื่อยอมรับ PropertyPath (I45588)
  • เพิ่ม builtin:Thing ลงในประเภทในตัวของ AppSearch (I55427)
  • ป้องกันไม่ให้มีชื่อพร็อพเพอร์ตี้ว่างใน GenericDocument เร็วขึ้น - ก่อนหน้านี้ระบบจะป้องกันในเวลาจัดทำดัชนี แต่ตอนนี้จะป้องกันในเวลา GenericDocument.Builder.build() (I9e780)

การแก้ไขข้อบกพร่อง

  • นำการจัดรูปแบบสตริงที่ไม่จำเป็นออกเพื่อปรับปรุงประสิทธิภาพการให้คะแนนความเกี่ยวข้อง
  • การแบ่งหน้ามีประสิทธิภาพมากขึ้นเมื่อพบเอกสารที่อ่านไม่ได้หรือถูกลบ
  • ใช้ระบบจัดการหน่วยความจำที่ไม่ใช้แล้วสำหรับการค้นหาที่ถูกละทิ้ง
  • แก้ไขการรองรับการจัดทำดัชนีแบบซ้อนสำหรับเอกสาร ก่อนหน้านี้ระบบจะละเว้น indexNestedProperties (Iae9a6)

การมีส่วนร่วมภายนอก

  • Shea Smith: แก้ไขการรองรับการจัดทำดัชนีที่ซ้อนกันสำหรับเอกสาร (Iae9a6)

เวอร์ชัน 1.1.0-alpha01

15 มิถุนายน 2022

androidx.appsearch:appsearch-*:1.1.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-alpha01 ได้รับการพัฒนาใน Branch รุ่นทดลองใช้ก่อนเปิดตัวแบบส่วนตัวและไม่มีคอมมิตแบบสาธารณะ

การเปลี่ยนแปลง API

  • เราได้เปลี่ยนชื่อเมธอดทั้งหมดที่แสดงผล ListenableFuture ให้มีคำต่อท้าย Async แล้ว เช่น เปลี่ยนชื่อ getSchema เป็น getSchemaAsync แล้ว เวอร์ชันก่อนหน้าเลิกใช้งานแล้วและจะถูกนำออกในรุ่นต่อๆ ไป

ฟีเจอร์ใหม่

  • การเปิดตัว appsearch-builtin-types ครั้งแรก โปรเจ็กต์นี้มีประเภทในตัวบางประเภทที่อิงตาม schema.org ซึ่งไคลเอ็นต์อาจเห็นว่าสะดวกในการใช้งานแทนการกำหนดประเภทของตนเองสำหรับออบเจ็กต์ทั่วไป และจะเพิ่มประเภทอื่นๆ ในการเปิดตัวต่อๆ ไป
  • ความสามารถในการใช้ ShortcutAdapter เพื่อแปลงเอกสาร AppSearch เป็น ShortcutInfoCompat ซึ่งจะช่วยให้ไคลเอ็นต์แชร์เอกสาร AppSearch กับ Google ได้โดยใช้ไลบรารี core-google-shortcuts
  • ความสามารถในการใช้การรับค่าด้วยคลาส @Document คุณจะแทนที่หรือแก้ไขฟิลด์ไม่ได้ แต่เพิ่มฟิลด์ใหม่ได้โดยขยายคลาสที่มีคำอธิบายประกอบ @Document
  • Observer API ใหม่ที่ช่วยให้ไคลเอ็นต์ลงทะเบียนรับการแจ้งเตือนได้เมื่อมีการเปลี่ยนแปลงประเภทที่ตนมีสิทธิ์เข้าถึง หรือเมื่อมีการเพิ่ม แก้ไข หรือนำเอกสารประเภทดังกล่าวออก สำคัญ: การใช้งานปัจจุบันจะส่งการแจ้งเตือนเมื่อแอปของคุณทำงานอยู่เท่านั้น ปัจจุบันยังไม่มีวิธีตรวจสอบการเปลี่ยนแปลงที่เกิดขึ้นขณะที่แอปหยุดทำงาน ดังนั้นคุณจึงไม่ควรใช้ API นี้เพื่อความสมบูรณ์
  • API ตัวแยกวิเคราะห์พร็อพเพอร์ตี้ซึ่งช่วยให้คุณจัดการและตรวจสอบเส้นทางพร็อพเพอร์ตี้ที่ MatchInfo#getPropertyPath แสดงผลได้อย่างเต็มที่
  • API getById ทั่วโลกและ API getSchema ทั่วโลกสำหรับการดึงข้อมูลเอกสารและสคีมาจากแอปอื่นๆ ที่ให้สิทธิ์การมองเห็นแก่คุณ
  • ความสามารถในการดึงข้อมูลระดับการมองเห็นใน getSchema สำหรับข้อมูลที่คุณมีสิทธิ์เข้าถึง
  • ความสามารถในการให้สิทธิ์การมองเห็นแก่แอปที่มีสิทธิ์บางอย่างของ Android (จำกัดเฉพาะชุดสิทธิ์ที่อนุญาตในรายการที่แคบ)
  • รองรับ Getter สไตล์ isFoo() สำหรับฟิลด์บูลีนในโปรเซสเซอร์สำหรับคำอธิบายประกอบ นอกเหนือจากสไตล์ hasFoo() ที่รองรับก่อนหน้านี้
  • การรองรับฟีเจอร์ใหม่ที่อยู่ภายใต้@RequiresFeature ใช้ AppSearchSession#getFeatures เพื่อดูว่าปัจจุบันแบ็กเอนด์รองรับอะไรบ้าง
  • นำขีดจำกัดโทเค็นประมาณ 13,000 รายการในเอกสารแต่ละฉบับออก
  • อนุญาตให้จับคู่กับอักขระที่ไม่ใช่ ASCII และไม่ใช่ตัวอักษรและตัวเลข เช่น อีโมจิ

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่ทำให้ SetSchema ไม่สำเร็จเมื่อลบล้างประเภทที่ไม่เข้ากันที่ซ้อนกัน
  • แก้ไขเพื่อให้รองรับคลาสที่ใส่คำอธิบายประกอบ @AutoValue อย่างเต็มรูปแบบซึ่งใช้เป็นคลาส @Document ของ AppSearch
  • แก้ไขการขัดข้องบางอย่างที่เกี่ยวข้องกับรายการคลาสเอกสารที่ซ้ำกันและปัญหาอื่นๆ
  • แก้ไขข้อบกพร่องที่ทำให้การค้นหาคำนำหน้าขัดข้องในบางกรณี
  • แก้ไขข้อบกพร่องเล็กน้อยใน GetStorageInfo ซึ่งจะแสดงค่าที่ไม่ถูกต้องเมื่อพบข้อผิดพลาดในการดำเนินการ I/O
  • แก้ไขปัญหา BUSADDERR เมื่ออ่านเอกสาร
  • แก้ไขการเสียหายของ Logcat ที่เกิดจากการพิมพ์ลายนิ้วมือที่ไม่ได้จัดรูปแบบ
  • แก้ไข NPE ที่เกิดจาก IO ล้มเหลว
  • แก้ไขหน่วยความจำรั่วไหลใน GetSchemaType, Get, Delete, DeleteByNamespace และ DeleteBySchemaType

เวอร์ชัน 1.0.0

เวอร์ชัน 1.0.0-alpha04

3 พฤศจิกายน 2021

androidx.appsearch:appsearch-*:1.0.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • การขึ้นต่อกันของ Guava ListenableFuture จะนำเข้าโดยอัตโนมัติเป็นการขึ้นต่อกันของ API

การเปลี่ยนแปลง API

  • เพิ่ม SearchResult#getSubmatchRange() และ SearchResult#getSubmatch() เพื่อให้ข้อมูลเพิ่มเติมเกี่ยวกับการจับคู่แต่ละรายการ (I2fef6)
  • ชี้แจงเอกสารประกอบเกี่ยวกับวิธีสร้างลายนิ้วมือ PackageIdentifier สำหรับการแชร์ข้อมูลตามชื่อแพ็กเกจ + ใบรับรอง

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องหากผู้ใช้พยายามดึงข้อมูลหน้าผลการค้นหาหลังจากสิ้นสุดชุดผลการค้นหา
  • แก้ไขปัญหาที่ระบบจะค้นหาเนมสเปซทั้งหมดหากมีการระบุเฉพาะเนมสเปซที่ไม่ถูกต้องเป็นตัวกรองการค้นหา
  • แก้ไขปัญหาที่ระบบนำเนมสเปซทั้งหมดออกหากระบุเฉพาะเนมสเปซที่ไม่ถูกต้องเป็นตัวกรอง remove-by-query
  • แก้ไขปัญหาที่ระบบหยุดจัดทำดัชนีข้อมูลเอกสารหลังจากถึงจุดหนึ่งสำหรับเอกสารขนาดใหญ่มาก
  • แก้ไขปัญหาที่การแปลงเป็นโทเค็นจะทิ้งกลุ่มที่มีอักขระตัวเลขที่ไม่ใช่ ASCII
  • เพิ่มการตรวจสอบการพยายามเริ่มต้นที่ไม่สําเร็จติดต่อกันเพื่อช่วยหลุดพ้นจากสถานะที่ไม่ดีที่อาจเกิดขึ้นซึ่งทําให้การเริ่มต้นไม่สําเร็จ

เวอร์ชัน 1.0.0-alpha03

21 กรกฎาคม 2021

androidx.appsearch:appsearch-*:1.0.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

  • เปิดตัวแบ็กเอนด์พื้นที่เก็บข้อมูลของแพลตฟอร์มเพื่อให้ไคลเอ็นต์ใช้ AppSearch API กับบริการ android.app.appsearch.AppSearchManager ใหม่ที่เปิดตัวใน Android S ได้ ดูรายละเอียดเพิ่มเติมได้ที่คู่มือนักพัฒนาแอป AppSearch
  • การรองรับโปรเซสเซอร์สำหรับคำอธิบายประกอบสำหรับ AutoValue
  • การนำขีดจำกัดขนาดสูงสุดของพร็อพเพอร์ตี้สตริงเดียวออก
  • รูปแบบพื้นที่เก็บข้อมูลใหม่เพื่อลดเวลาในการตอบสนองของการเริ่มต้น
  • การย้ายข้อมูลภายในแบบครั้งเดียวจากรูปแบบการจัดเก็บข้อมูลแบบเก่าไปยังรูปแบบการจัดเก็บข้อมูลแบบใหม่

การแก้ไขข้อบกพร่อง

  • บังคับใช้ขีดจำกัดเอกสารสูงสุดอย่างถูกต้องเมื่อแทรกเอกสารใหม่
  • แก้ไขข้อขัดข้องระหว่างการสร้าง AppSearchSession
  • แก้ไขข้อบกพร่องใน SetSchema ที่ตรวจไม่พบกรณีที่เข้ากันไม่ได้แบบย้อนหลังและดัชนีที่เข้ากันไม่ได้

เวอร์ชัน 1.0.0-alpha02

30 มิถุนายน 2021

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
  • การนำขีดจำกัดขนาดสูงสุดของพร็อพเพอร์ตี้ที่ซ้ำกันออก
  • อนุญาตให้นำคลาส Builder มาใช้ซ้ำ
  • การปรับปรุงใน toString() ของออบเจ็กต์บางอย่างเพื่อให้แก้ไขข้อบกพร่องได้ง่ายขึ้น
  • การปรับปรุงเอกสารประกอบ Javadoc

การเปลี่ยนแปลง API

  • เปลี่ยนชื่อเป็น SearchResult#getMatchInfosSearchResult#getMatches
  • เปลี่ยนชื่อเป็น @Document.LongProperty@Document.Int64Property

การแก้ไขข้อบกพร่อง

  • การปรับปรุงและการแก้ไขการคำนวณข้อมูลตัวอย่างของผลการค้นหา
  • การแก้ไขข้อบกพร่องในการเริ่มต้น AppSearchSession

เวอร์ชัน 1.0.0-alpha01

5 พฤษภาคม 2021

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 เป็นไลบรารีการค้นหาสำหรับจัดการ Structured Data ที่จัดเก็บไว้ในเครื่อง โดยมี API สำหรับจัดทำดัชนีข้อมูลและดึงข้อมูลผ่านการค้นหาข้อความแบบเต็ม ใช้เพื่อสร้างความสามารถในการค้นหาในแอปที่กำหนดเองสำหรับผู้ใช้ การเปิดตัวครั้งแรกนี้คือ 1.0.0-alpha01