带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(下)

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(下)

《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.18.Enterprise Search —— 3.5.18.3.App Search(上) https://developer.aliyun.com/article/1226730



使用

 

1、创建 Engine

 

点击首页 Create an Engine 输入 Engines name 选择语言进行创建,每个 Engine 最终都会在 Elasticsearch 中有对应的一个 index。

 

 

image.png


2、导入数据


image.png


数据导入方式有以下四种

 

l Paste JSON:直接粘贴 JSON 内容

l Upload a JSON file:上传 json 文件,将文件内容写入

l Use the web crawler:使用爬虫器进行爬取

l Index by API:使用 REST API 写入数据

 

我们根据场景选择不同的数据导入方式,以下以 REST API 举例,如果不指定 id,会自动生成

 

curl -X POST 'http://localhost:3002/api/as/v1/engines/kyle-test-engine/documents' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer private-q849axzc6sv37qf83oxbn32r' \
  -d '[
        {
          "id": "park_rocky-mountain",
          "title": "Rocky Mountain",
          "description": "Bisected north to south by the Continental Divide, this portion of the Rockies has ecosystems varying from over 150 riparian lakes to montane and subalpine forests to treeless alpine tundra. Wildlife including mule deer, bighorn sheep, black bears, and cougars inhabit its igneous mountains and glacial valleys. Longs Peak, a classic Colorado fourteener, and the scenic Bear Lake are popular destinations, as well as the historic Trail Ridge Road, which reaches an elevation of more than 12,000 feet (3,700 m).",
          "nps_link": "https://www.nps.gov/romo/index.htm",
          "states": [
            "Colorado"
          ],
          "visitors": 4517585,
             "world_heritage_site": false,
          "location": "40.4,-105.58",
          "acres": 265795.2,
          "square_km": 1075.6,
          "date_established": "1915-01-26T06:00:00Z"
        },
        {
          "id": "park_saguaro",
          "title": "Saguaro",
          "description": "Split into the separate Rincon Mountain and Tucson Mountain districts, this park is evidence that the dry Sonoran Desert is still home to a great variety of life spanning six biotic communities. Beyond the namesake giant saguaro cacti, there are barrel cacti, chollas, and prickly pears, as well as lesser long-nosed bats, spotted owls, and javelinas.",
            "nps_link": "https://www.nps.gov/sagu/index.htm",
          "states": [
            "Arizona"
          ],
          "visitors": 820426,
          "world_heritage_site": false,
          "location": "32.25,-110.5",
          "acres": 91715.72,
          "square_km": 371.2,
          "date_established": "1994-10-14T05:00:00Z"
        }
      ]'
# [
#   {
#     "id": "park_rocky-mountain",
#     "errors": []
#   },
#   {
#     "id": "park_saguaro",
#     "errors": []
#   }
# ]

3、点击 Documents 开始搜索,可以通过 Customize 设置过滤字段和排序字段。

image.png


4、Reference UI 快速创建搜索界面

 

设置过滤、排序等字段。

image.png


搜索页面,可以点击 Download ZIP Package 下载代码解压,然后执行 npm install, npm start 就可以有单独搜索的页面。


image.png


5、可以通过 UI Schema 调整字段的类型,默认 text,目前仅支持 text、number、date、

geolocation 四种类型


image.png

6、通过 Overview 和 Analytics 可以查看到所有 API 的使用情况,方便定义问题及优化,可以实时调整我们的搜索结果,比如设置同义词( Synonyms)、调整字段权重( Relevance Tuning)、让一些结果不可见同时也可以让一些结果永远排名处于前面的位置 (Curations)、设置显示的字段 (Result Settings)。

image.png


从下图可以看到我们搜索 garden 是没有结果的,如果我们想要在搜索 garden 的时候,park相关的结果也能显示,那么我们就可以设置 Synonyms 。


image.png


7、设置同义词


image.png



可以看到当我们搜索 garden 的时候就会出来结果。


image.png


8、Curations 结果设置

 

Curations 允许手动提升或隐藏特定查询的文档,可用于增加每次点击的搜索比率或执行推广特定内容的活动。

 

image.png


9、相关性得分设置

 

设置字段是否可搜索,以及字段的权重等来提升文档的得分。


image.png


10、结果设置


设置需要显示的字段,以及字段最大字符设置等。


image.png


创作人简介:

赵凯,平时喜欢阅读 elastic 官网,对 Elasticsearch 较为熟悉。学习一门技术,官网永远是最好的学习文档。在西安,我们也建立了自己的圈子,欢迎西安的小伙伴们一起交流,共同进步。

博客:https://dr-kyle.github.io/

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
数据采集 API Docker
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(上)
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(上)
224 0
|
算法 数据库 索引
App Inventor 2 算法之二分算法(Binary Search)实现,快速查找定位
二分算法(Binary Search)是生活中非常常用的折半算法,能解决快速查找、快速定位的问题,主要用到数学和逻辑代码块。 本示例程序演示了采用普通遍历的方式和二分的方式分别需要几次能够猜中随机给出的数字。
347 0
App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW in
App is not indexable by Google Search; consider adding at least one Activity with an ACTION-VIEW in
159 0
|
9天前
|
移动开发 小程序 Android开发
基于 uni-app 开发的废品回收类多端应用功能与界面说明
本文将对一款基于 uni-app 开发的废品回收类多端应用,从多端支持范围、核心功能模块及部分界面展示进行客观说明,相关资源信息也将一并呈现。
37 0
|
3月前
|
人工智能 文字识别 小程序
旅游社用什么工具收报名 + 资料?不开发 App 也能自动收集信息
本文探讨了旅游行业中报名信息收集的常见痛点及解决方案,重点介绍了二维码表单工具在提升信息收集效率、简化操作流程方面的优势。通过对比多种工具,分析其适用场景与实际应用逻辑,为一线旅游从业者提供高效、低成本的执行参考。
|
4月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:外卖App
仓颉语言实战分享,教你如何用仓颉开发外卖App界面。内容包括页面布局、导航栏自定义、搜索框实现、列表模块构建等,附完整代码示例。轻松掌握Scroll、List等组件使用技巧,提升HarmonyOS应用开发能力。
|
4月前
|
人工智能 小程序 JavaScript
【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景
本文介绍了如何通过【一步步开发AI运动APP】系列博文,利用`ISportOptimizer`对内置运动分析器进行微调优化。相比小程序,APP框架(如uni-app)因技术差异,无法直接修改运动分析器参数,因此提供了统一的优化机制。开发者可通过`ISportOptimizer`获取和更新检测规则、动作样本等,灵活适应不同场景需求,如全民运动赛事的宽松模式或学生体测的严格模式。文中还提供了示例代码,展示如何对具体运动项目(如仰卧起坐)进行优化。需要注意的是,微调优化适用于标准动作的小范围调整,若动作变化过大(如花式跳绳),可期待后续自定义扩展功能。
|
4月前
|
IDE 开发工具 开发者
使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件
# 使用DevEcoStudio 开发、编译鸿蒙 NEXT_APP 以及使用中文插件 #鸿蒙开发工具 #DevEco Studio
314 1
|
4月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:健身App
本期分享一个健身App首页的布局实现,顶部采用Stack容器实现重叠背景与偏移效果,列表部分使用List结合Scroll实现可滚动内容。代码结构清晰,适合学习HarmonyOS布局技巧。
|
4月前
|
容器
HarmonyOS NEXT仓颉开发语言实战案例:银行App
仓颉语言银行App项目分享,页面布局采用List容器,实现沉浸式体验与模块化设计。顶部资产模块结合Stack与Row布局,背景图与内容分离,代码清晰易懂;功能按钮部分通过负边距实现上移效果,圆角仅保留顶部;热门推荐使用header组件,结构更规范。整体代码风格与ArkTS相似,但细节更灵活,适合金融类应用开发。