0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙OS开发之 融合搜索概述

王程 2024-01-29 16:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

HarmonyOS 融合搜索为开发者提供搜索引擎级的全文搜索能力,可支持应用内搜索和系统全局搜索,为用户提供更加准确、高效的搜索体验。

基本概念

  • 全文索引
    记录字或词的位置和次数等属性,建立的倒排索引。
  • 全文搜索
    通过全文索引进行匹配查找结果的一种搜索引擎技术。
  • 全局搜索
    可以在系统全局统一的入口进行的搜索行为。
  • 全局搜索应用
    HarmonyOS 上提供全局搜索入口的应用,一般为桌面下拉框或悬浮搜索框。
  • 索引源应用
    通过融合搜索索引接口对其数据建立索引的应用。
  • 可搜索配置
    每个索引源应用应该提供一个包括应用包名、是否支持全局搜索等信息的可搜索实体,以便全局搜索应用发起搜索。
  • 群组
    经过认证的可信设备圈,可从账号模块获取群组 ID。
  • 索引库
    一种搜索引擎的倒排索引库,包含多个索引文件的整个目录构成一个索引库。
  • 索引域
    索引数据的字段名,比如一张图片有文件名、存储路径、大小、拍摄时间等,文件名就是其中的一个索引域。
  • 索引属性
    描述索引域的信息,包括索引类型、是否为主键、是否存储、是否支持分词等。

运作机制

索引源应用通过融合搜索接口设置可搜索实体,并为其数据内容构建全文索引。全局搜索应用接收用户发起的搜索请求,遍历支持全局搜索的可搜索实体,解析用户输入并构造查询条件,最后通过融合搜索接口获取各应用搜索结果。

图1 融合搜索运作示意图

wKgaomW2VP-AW71QAABAVEpNWnY483.png

约束与限制

  • 构建索引或者发起搜索前,索引源应用必须先设置索引属性,并且必须有且仅有一个索引域设置为主键,且主键索引域不能分词,索引和搜索都会使用到索引属性。
  • 索引源应用的数据发生变动时,开发者应同步通过融合搜索索引接口更新索引,以保证索引和应用原始数据的一致性。
  • 批量创建、更新、删除索引时,应控制单次待索引内容大小,建议分批创建索引,防止内存溢出。
  • 分页搜索和分组搜索应控制每页返回结果数量,防止内存溢出。
  • 构建和搜索本机索引时,应该使用提供的 SearchParameter.DEFAULT_GROUP 作为群组 ID,分布式索引使用通过账号模块获取的群组ID。
  • 搜索时需先创建搜索会话,并务必在搜索结束时关闭搜索会话,释放内存资源。
  • 使用融合搜索服务接口需要在“config.json”配置文件中添加“ohos.permission.ACCESS_SEARCH_SERVICE”权限。
  • 搜索时的 SearchParamter.DEVICE_ID_LIST 必须与创建索引时的deviceId一致。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    60

    文章

    3015

    浏览量

    46161
  • HarmonyOS
    +关注

    关注

    80

    文章

    2157

    浏览量

    36277
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    1688按图搜索API技术实现详解

    ​ 在电商系统开发或货源查找工具中,按图搜索商品是一项非常实用的功能。1688平台作为国内领先的B2B电商平台,提供了官方的按图搜索商品API接口。本文将详细讲解如何调用该接口。 一、 接口
    的头像 发表于 03-13 17:01 822次阅读
    1688按图<b class='flag-5'>搜索</b>API技术实现详解

    开源鸿蒙6.1 Release版本正式发布,在鸿OS 6.1率先完成升级适配!

    3月8日,开源鸿蒙6.1Release版本正式发布!作为新一代版本,6.1在应用开发能力、系统体验、多媒体与安全等领域带来全面升级,为生态商用落地注入全新动能。作为开放原子开源基金会黄金捐赠人、开源
    的头像 发表于 03-10 18:06 613次阅读
    开源<b class='flag-5'>鸿蒙</b>6.1 Release版本正式发布,在鸿<b class='flag-5'>OS</b> 6.1率先完成升级适配!

    拓维信息旗下在鸿OS 3.0 让OpenClaw开箱即用

    AIModelSIG组长单位,依托基于开源鸿蒙自研的在鸿OS3.0底层能力,率先完成OpenClaw的深度适配与预集成,推出搭载融合能力的AIBOX(边缘AI小站)
    的头像 发表于 03-04 17:46 774次阅读
    拓维信息旗下在鸿<b class='flag-5'>OS</b> 3.0  让OpenClaw开箱即用

    技术创新 | 开鸿智谷率先实现开源鸿蒙与OpenClaw创新融合

    鸿蒙研发的在鸿OS3.0底层能力,完成OpenClaw的深度适配与预集成,推出搭载融合能力的AIBOX。从“大脑”到“四肢”实现OpenClaw的技术本质理解Ope
    的头像 发表于 03-03 17:56 873次阅读
    技术创新 | 开鸿智谷率先实现开源<b class='flag-5'>鸿蒙</b>与OpenClaw创新<b class='flag-5'>融合</b>

    想体验鸿蒙生态,该怎么获取鸿蒙开发板?有哪些途径?

    如何快速上手体验鸿蒙生态? 想体验鸿蒙生态,该怎么获取鸿蒙开发板?有哪些途径?
    发表于 11-29 08:40

    如何申请鸿蒙开发板?想体验鸿蒙生态。

    如何申请鸿蒙开发板?想体验鸿蒙生态。
    发表于 11-29 08:34

    融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件

    *附件:ai study.zip*附件:融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件.pdf 基于开源鸿蒙编写的ai辅助学习软件
    发表于 11-12 15:38

    开源鸿蒙RISC-V SIG线下技术融合交流会圆满收官

    航空航天大学、北京理工大学等多所高校的师生以及社区开发者共同参与。活动旨在汇聚产学研各方力量,推动开源鸿蒙与RISC-V架构在多元场景下的技术融合与生态共建,加速开源技术的创新与产业落地。
    的头像 发表于 10-31 09:07 870次阅读

    【汇思博SEEK100开发板试用体验】在开发鸿蒙OS搭建QT开发环境

    状天线等,为各种功能的实现提供了硬件基础。 二、QT for HarmonyOS 核心架构原理 Qt 框架已对 HarmonyOS(鸿蒙操作系统)提供支持,这使得开发者可以运用熟悉的 Qt 技术栈
    发表于 08-24 18:34

    餐饮服务与软件创新的融合:解析海底捞APP的Flutter鸿蒙开发之路

    鸿蒙生态快速发展的背景下,作为餐饮行业数字化先锋的海底捞,其鸿蒙版应用集成在线排队、点餐等核心功能,覆盖全国超千家门店。自2024年4月海底捞与华为达成合作意愿, 6月底全面启动开发工作,9月实现
    的头像 发表于 07-30 15:35 588次阅读
    餐饮服务与软件创新的<b class='flag-5'>融合</b>:解析海底捞APP的Flutter<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>之路

    【HarmonyOS 5】金融应用开发鸿蒙组件实践

    【HarmonyOS 5】金融应用开发鸿蒙组件实践 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财#
    的头像 发表于 07-11 18:20 1115次阅读
    【HarmonyOS 5】金融应用<b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>组件实践

    使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件

    # 使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件 #鸿蒙开发工具 #DevEco Studio ## 1.
    发表于 06-11 17:18

    开鸿Bot系列:为开源鸿蒙开发者而生!

    操作系统,实现从国产高性能芯片到操作系统的全栈自主化,构建起一站式的开源鸿蒙学习与开发平台。融合开发与办公场景打造开源鸿蒙生态的“第一站”作
    的头像 发表于 05-16 16:06 1461次阅读
    开鸿Bot系列:为开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>者而生!

    开源鸿蒙开发新体验,开鸿Bot系列今日开启预售!

    操作系统,实现从国产高性能芯片到操作系统的全栈自主化,构建起一站式的开源鸿蒙学习与开发平台。 融合开发与办公场景,打造开源鸿蒙生态的“第一
    发表于 05-16 14:13

    为开源鸿蒙开发者而生,开鸿Bot系列今日预售启动

    操作系统,实现从国产高性能芯片到操作系统的全栈自主化,构建起一站式的开源鸿蒙学习与开发平台。 融合开发与办公场景,打造开源鸿蒙生态的“第一站
    的头像 发表于 05-15 14:12 790次阅读
    为开源<b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>者而生,开鸿Bot系列今日预售启动