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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(上)

3.5.18.3.App Search

创作人:赵凯

审稿人:亢伟楠

 

概述

Elastic App Search 是 Elastic Enterprise Search 的一部分,和 Elasticsearch 一起使用,是免费使用的。

App Search 可以轻松实现高级搜索,通过完善的 API 集合以及直观的仪表板,Elastic App

Search 为你的公司网站、电子商务网站或应用带来了 Elasticsearch 的强大功能。获得无缝的可扩展性、可调的相关性控制、详尽的文档、经过良好维护的客户端和强大的分析能力,为你的客户打造领先的搜索体验。

image.png



image.png


亮点

 

l 轻松完成索引

l 不限平台,不限数据,不限位置,通过不区分模式的数据采集方式以及直观的仪表板,你马上就能完成准备工作并开始查询。只需使用网络爬虫或经过良好维护的 API 客户端之一对你的数据加以索引,然后便可开始查询啦。

 

l 功能强大的搜索

l 相关性高,容错性优异,Elastic App Search 由 Elasticsearch 提供支持,其相关性模型已针对实际搜索情况进行优化。“允许拼写错误”、词干提取、双连词等功能均可直接使用。

 

l 搜索分析

l 实时数据,可付诸实践的见解,Elastic App Search 的分析结果能够让你洞悉用户的全部行为,并为你提供改进建议以及达到目标的方式。

 

l 相关性调整

l 定义你自己的搜索方式,使用直观界面调校搜索的相关性。创建同义词组,针对特定查询对结果进行重排序,以及分配权重和系数,这些都有助于对整体精准度进行微调。


 l 爬取过程便捷

l 高效索引所有公开的网站内容。只需点击鼠标——无需代码——用户便可自定义网络爬虫规则,从而指定入口点,并且/或者将特定页面、内容或词汇排除在外。


部署

 

因为 App Search 是 Enterprise Search 的一部分,所以只需要部署 Enterprise Search 即可使用 App Search。

以 Docker 部署举例

 

1、拉取镜像

docker pull docker.elastic.co/enterprise-search/enterprise-search:7.12.0


2、用 Docker CLI 启动

 

docker run \
  -p 3002:3002 \
  -e elasticsearch.host='http://host.docker.internal:9200' \
  -e elasticsearch.username=elastic \
  -e elasticsearch.password=changeme \
  -e allow_es_settings_modification=true \
  -e secret_management.encryption_keys='[4a2cd3f81d39bf28738c10db0ca782095ffac07279561809eecc722e0c20eb09]' \
docker.elastic.co/enterprise-search/enterprise-search:7.12.0

allow_es_settings_modificationsecret_management.encryption_keys 必须配置。


3、或者用 Docker Compose 启动

 

docker compose up --remove-orphans


docker-compose.yml 文件内容如下:


version: "7.12.0"
networks:
  elastic:
    driver: bridge
volumes:
  elasticsearch:
    driver: local
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:{version}
    restart: unless-stopped
    environment:
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - "xpack.security.enabled=true"
      - "xpack.security.authc.api_key.enabled=true"
      - "ELASTIC_PASSWORD=changeme"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - elasticsearch:/usr/share/elasticsearch/data
    ports:
      - 127.0.0.1:9200:9200
    networks:
      - elastic
  ent-search:
    image: docker.elastic.co/enterprise-search/enterprise-search:{version}
    restart: unless-stopped
    depends_on:
      - "elasticsearch"
       environment:
      - "JAVA_OPTS=-Xms512m -Xmx512m"
      - "ENT_SEARCH_DEFAULT_PASSWORD=changeme"
      - "elasticsearch.username=elastic"
      - "elasticsearch.password=changeme"
      - "elasticsearch.host=http://elasticsearch:9200"
      - "allow_es_settings_modification=true"
      - "secret_management.encryption_keys=[4a2cd3f81d39bf28738c10db0ca782095ffac07279561809eecc722e0c20eb09]"
      - "elasticsearch.startup_retry.interval=15"
    ports:
      - 127.0.0.1:3002:3002
    networks:
      - elastic
  kibana:
    image: docker.elastic.co/kibana/kibana:{version}
    restart: unless-stopped
    depends_on:
      - "elasticsearch"
      - "ent-search"
    ports:
      - 127.0.0.1:5601:5601
    environment:
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200
      ENTERPRISESEARCH_HOST: http://ent-search:3002
      ELASTICSEARCH_USERNAME: elastic
       ELASTICSEARCH_PASSWORD: changeme
    networks:
      - elastic


4、启动成功后,可以通过 kibana -> Enterprise Search -> App Search 访问,或者访问单独的地址:http://localhost:3002

 

image.png


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

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
数据采集 JSON API
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(下)
带你读《Elastic Stack 实战手册》之64:—— 3.5.18.3.App Search(下)
110 0
|
算法 数据库 索引
App Inventor 2 算法之二分算法(Binary Search)实现,快速查找定位
二分算法(Binary Search)是生活中非常常用的折半算法,能解决快速查找、快速定位的问题,主要用到数学和逻辑代码块。 本示例程序演示了采用普通遍历的方式和二分的方式分别需要几次能够猜中随机给出的数字。
114 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
95 0
|
1月前
|
移动开发 小程序
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
|
2天前
|
编解码 Java Android开发
FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流
RTMP Streamer是一款开源的安卓直播推流框架,支持RTMP、RTSP和SRT协议,适用于各种直播场景。它支持H264、H265、AV1视频编码和AAC、G711、OPUS音频编码。本文档介绍了如何使用Java版的RTMP Streamer,建议使用小海豚版本的Android Studio (Dolphin)。加载项目时,可添加国内仓库加速依赖下载。RTMP Streamer包含五个模块:app、encoder、rtmp、rtplibrary和rtsp。完成加载后,可以在手机上安装并运行APP,提供多种直播方式。开发者可以从《FFmpeg开发实战:从零基础到短视频上线》获取更多信息。
27 7
FFmpeg开发笔记(三十一)使用RTMP Streamer开启APP直播推流
|
15天前
|
移动开发 小程序 视频直播
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
本文讲述了在使用ZLMediaKit进行视频直播时,遇到移动端通过ExoPlayer和微信小程序播放HLS直播地址失败的问题。错误源于ZLMediaKit对HTTP地址的Cookie校验导致401无权限响应。通过修改ZLMediaKit源码,注释掉相关鉴权代码并重新编译安装,解决了此问题,使得ExoPlayer和小程序能成功播放HLS视频。详细解决方案及FFmpeg集成可参考《FFmpeg开发实战:从零基础到短视频上线》一书。
26 3
FFmpeg开发笔记(二十七)解决APP无法访问ZLMediaKit的直播链接问题
|
4天前
|
开发框架 移动开发 JavaScript
SpringCloud微服务实战——搭建企业级开发框架(四十七):【移动开发】整合uni-app搭建移动端快速开发框架-添加Axios并实现登录功能
在uni-app中,使用axios实现网络请求和登录功能涉及以下几个关键步骤: 1. **安装axios和axios-auth-refresh**: 在项目的`package.json`中添加axios和axios-auth-refresh依赖,可以通过HBuilderX的终端窗口运行`yarn add axios axios-auth-refresh`命令来安装。 2. **配置自定义常量**: 创建`project.config.js`文件,配置全局常量,如API基础URL、TenantId、APP_CLIENT_ID和APP_CLIENT_SECRET等。
|
7天前
|
安全 JavaScript 前端开发
kotlin开发安卓app,JetPack Compose框架,给webview新增一个按钮,点击刷新网页
在Kotlin中开发Android应用,使用Jetpack Compose框架时,可以通过添加一个按钮到TopAppBar来实现WebView页面的刷新功能。按钮位于右上角,点击后调用`webViewState?.reload()`来刷新网页内容。以下是代码摘要:
|
13天前
|
缓存 Android开发 Kotlin
【安卓app开发】kotlin Jetpack Compose框架 | 先用OKhttp下载远程音频文件再使用ExoPlayer播放
使用 Kotlin 的 Jetpack Compose 开发安卓应用时,可以结合 OkHttp 下载远程音频文件和 ExoPlayer 进行播放。在 `build.gradle` 添加相关依赖后,示例代码展示了如何下载音频并用 ExoPlayer 播放。代码包括添加依赖、下载文件、播放文件及简单的 Compose UI。注意,示例未包含完整错误处理和资源释放,实际应用需补充这些内容。
|
13天前
|
存储 Android开发 Kotlin
开发安卓app OKhttp下载后使用MediaPlayer播放
在Android Jetpack Compose应用程序中,要使用OkHttp下载远程音频文件并在本地播放,你需要完成以下几个步骤: 1. **添加依赖**:确保`build.gradle`文件包含OkHttp和Jetpack Compose的相关依赖。 2. **下载逻辑**:创建一个`suspend`函数,使用OkHttp发起网络请求下载音频文件到本地。 3. **播放逻辑**:利用`MediaPlayer`管理音频播放状态。 4. **Compose UI**:构建用户界面,包含下载和播放音频的按钮。

热门文章

最新文章