鴻蒙OS 融合搜索概述

2020-09-18 17:51 更新

HarmonyOS 融合搜索為開發(fā)者提供搜索引擎級的全文搜索能力,可支持應(yīng)用內(nèi)搜索和系統(tǒng)全局搜索,為用戶提供更加準確、高效的搜索體驗。

基本概念

  • 全文索引

記錄字或詞的位置和次數(shù)等屬性,建立的倒排索引。

  • 全文搜索

通過全文索引進行匹配查找結(jié)果的一種搜索引擎技術(shù)。

  • 全局搜索

可以在系統(tǒng)全局統(tǒng)一的入口進行的搜索行為。

  • 全局搜索應(yīng)用

HarmonyOS 上提供全局搜索入口的應(yīng)用,一般為桌面下拉框或懸浮搜索框。

  • 索引源應(yīng)用

通過融合搜索索引接口對其數(shù)據(jù)建立索引的應(yīng)用。

  • 可搜索配置

每個索引源應(yīng)用應(yīng)該提供一個包括應(yīng)用包名、是否支持全局搜索等信息的可搜索實體,以便全局搜索應(yīng)用發(fā)起搜索。

  • 群組

經(jīng)過認證的可信設(shè)備圈,可從賬號模塊獲取群組 ID。

  • 索引庫

一種搜索引擎的倒排索引庫,包含多個索引文件的整個目錄構(gòu)成一個索引庫。

  • 索引域

索引數(shù)據(jù)的字段名,比如一張圖片有文件名、存儲路徑、大小、拍攝時間等,文件名就是其中的一個索引域。

  • 索引屬性

描述索引域的信息,包括索引類型、是否為主鍵、是否存儲、是否支持分詞等。

運作機制

索引源應(yīng)用通過融合搜索接口設(shè)置可搜索實體,并為其數(shù)據(jù)內(nèi)容構(gòu)建全文索引。全局搜索應(yīng)用接收用戶發(fā)起的搜索請求,遍歷支持全局搜索的可搜索實體,解析用戶輸入并構(gòu)造查詢條件,最后通過融合搜索接口獲取各應(yīng)用搜索結(jié)果。

圖1 融合搜索運作示意圖 img

約束與限制

  • 構(gòu)建索引或者發(fā)起搜索前,索引源應(yīng)用必須先設(shè)置索引屬性,并且必須有且僅有一個索引域設(shè)置為主鍵,且主鍵索引域不能分詞,索引和搜索都會使用到索引屬性。
  • 索引源應(yīng)用的數(shù)據(jù)發(fā)生變動時,開發(fā)者應(yīng)同步通過融合搜索索引接口更新索引,以保證索引和應(yīng)用原始數(shù)據(jù)的一致性。
  • 批量創(chuàng)建、更新、刪除索引時,應(yīng)控制單次待索引內(nèi)容大小,建議分批創(chuàng)建索引,防止內(nèi)存溢出。
  • 分頁搜索和分組搜索應(yīng)控制每頁返回結(jié)果數(shù)量,防止內(nèi)存溢出。
  • 構(gòu)建和搜索本機索引時,應(yīng)該使用提供的 SearchParameter.DEFAULT_GROUP 作為群組 ID,分布式索引使用通過賬號模塊獲取的群組ID。
  • 搜索時需先創(chuàng)建搜索會話,并務(wù)必在搜索結(jié)束時關(guān)閉搜索會話,釋放內(nèi)存資源。
  • 使用融合搜索服務(wù)接口需要在“config.json”配置文件中添加“ohos.permission.ACCESS_SEARCH_SERVICE”權(quán)限。
  • 搜索時的 SearchParamter.DEVICE_ID_LIST 必須與創(chuàng)建索引時的deviceId一致。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號