Enterprise:通过 App search 摄入数据

这篇具有很好参考价值的文章主要介绍了Enterprise:通过 App search 摄入数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

App Search 是 Elastic Enterprise Search 的一部分,Elastic Enterprise Search 是由 Elasticsearch 提供支持的内容搜索工具集合。

最初由 App Search 引入的一些功能(例如网络爬虫)现在可以直接通过企业搜索使用。 将这些功能与其他企业搜索工具(例如连接器和搜索 UI 库)相结合。

在今天的文章中,我来详述如何为 App search 写入数据。如果你想把数据库里的数据写入到 App search 中,你可以参考我之前的文章 “Enterprise:如何使用 Python 客户端将数据提取到 App Search 中”。

安装

首先,我们按照文章 “Enterprise:使用 MySQL connector 同步 MySQL 数据到 Elasticsearch” 里所介绍的方法来安装 Elastic Enterprise App search。这里就不再累述了。

准备数据

我们可以在网上链接 TMDB movies and series | Kaggle 下载到 TMDB 的数据。它含有 526,000 个电影及超过 93,000 个 TV 连续剧。我们点击网页上的 Download 按钮:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

我们可以使用如下的命令来进行加压缩:

$ pwd
/Users/liuxg/data/movies_tmdb
$ ls
archive.zip 
$ unzip archive.zip 

我们打开 Kibana 界面:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

在上面,我们选择 App Search managed docs。

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

如上所示,目前它提供了三种方法来摄入文件。有关 Crawler 的文章,在我之前的有很多文章都已经做过介绍:

  • Enterprise:Web Crawler 基础 (一)(二) 
  • ChatGPT 和 Elasticsearch:OpenAI 遇见私有数据(二)

在这里,我们就不做介绍了。如果你对这个话题感兴趣,请详细阅读上面的文章以了解更多。

在上面,我们选择 Paste or upload JSON

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

我们接下来选择刚才解压其中的一个文档:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

我们可以看到已经有一个文档被摄入。

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

点击上面的 Documents,我们可以查看被摄入的文档:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

在默认的情况下,所有的字段的类型都是设置为 text 类型。这显然不是我们所期望的。我们可以通过上面的界面来修改字段的数据类型:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python我们根据数据所代表的意思来选择合适的类型。通常我选择一个文档来摄入,并调整所有字段的数据类型。否则我们在摄入所有的文档后再进行调整,那么将会比较耗时一些。等我们把数据里各个字段的类型定义好以后,这就完成了我们的 Schema 定义。点击上面的 Save changes

 Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

我们接下来可以摄入更多的其它文档。

我们可以通过如下的命令来查找到相应的 Elasticsearch 索引:

GET _cat/indices

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

我们也可以使用 Python 代码来摄入文档。我们先下载如下位置的源码:

git clone https://github.com/liu-xiao-guo/tutorials

我们进入到 app-search 目录下,我们可以看到 app_search_ingest.py 文件:

app_search_ingest.py

from elastic_enterprise_search import AppSearch
import glob, os
import json

app_search = AppSearch(
    "app_search_api_endpoint",
    http_auth="api_private_key"
)

response = []

print("Uploading movies to App Search...")

os.chdir("movies_directory")
for file in glob.glob("*.json"):
  with open(file, 'r') as json_file:
    try:
      response = app_search.index_documents(engine_name="movies",documents=json.load(json_file))
      print(".", end='', flush=True)
    except:
      print("Fail!")
      print(response)
      break

如上所示,我们需要获得 http_auth 里的 private key。我们可以通过如下的方式来获得:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

根据我的情况,我修改上面的代码为:

from elastic_enterprise_search import AppSearch
import glob, os
import json

app_search = AppSearch(
    "http://localhost:3002",
    http_auth="private-49cx4j3qe4pv35n4xxy4b4z7"
)

response = []

print("Uploading movies to App Search...")

os.chdir("/Users/liuxg/data/movies_tmdb/movies/movies")
for file in glob.glob("*.json"):
  with open(file, 'r') as json_file:
    try:
      response = app_search.index_documents(engine_name="movies",documents=json.load(json_file))
      print(".", end='', flush=True)
    except:
      print("Fail!")
      print(response)
      break

我们接下来运行上面的代码:

pip install elastic_enterprise_search

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

我们可以在 Kibana 界面看到新摄入的文档:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

在代码的根目录下,我们还可以看到一个 app_search_query.py 的文件。我根据自己的配置,修改如下:

app_search_query.py

import requests

api_endpoint = 'http://localhost:3002' + '/api/as/v1/engines/movies/search'
api_key = 'private-49cx4j3qe4pv35n4xxy4b4z7'

headers = {q'Content-Type': 'application/json',
           'Authorization': 'Bearer {0}'.format(api_key)}
query = {'query': 'family'}

response = requests.post(api_endpoint, headers=headers, json=query)
print(response.text)

我们运行代码如下:

Enterprise:通过 App search 摄入数据,Elasticsearch,Enterprise,Elastic,elasticsearch,大数据,搜索引擎,全文检索,python

我们看到有很多的输出。 文章来源地址https://www.toymoban.com/news/detail-598494.html

到了这里,关于Enterprise:通过 App search 摄入数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Logstash:如何使用 Logstash 解析并摄入 JSON 数据到 Elasticsearch

    在我之前的文章 “Logstash:Data 转换,分析,提取,丰富及核心操作” 有涉及到这个话题。今天我想使用一个具体的例子来更深入地展示。   我们先来把如下的数据拷贝下来,并保存到一个叫做 sample.json 的文件中。我们可以把这个文件置于 Logstash 的安装根目录下。 sample.j

    2024年02月02日
    浏览(45)
  • 我们如何在 Elasticsearch 8.6、8.7 和 8.8 中加速数据摄入

    作者:Adrien Grand, Joe Gallo, Tyler Perkins 正如你们中的一些人已经注意到的,Elasticsearch 8.6、8.7 和 8.8 在各种数据集上带来了良好的索引加速,从简单的到繁重的 KNN 向量,以及摄取管道繁重的摄取工作负载。 摄取涉及许多组件 —— 运行摄取管道、反转内存中的数据、刷新

    2024年02月15日
    浏览(39)
  • Spring Boot 整合 分布式搜索引擎 Elastic Search 实现 数据聚合

    本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容 本篇文章将讲解 Elastic Search 如何实现数据聚合,以及 在项目实战中如何通过数据聚合实现业务需求并完成功能。 以下为官方

    2024年02月11日
    浏览(45)
  • 【elastic search】JAVA操作elastic search

    目录 1.环境准备 2.ES JAVA API 3.Spring Boot操作ES 本文是作者ES系列的第三篇文章,关于ES的核心概念移步: https://bugman.blog.csdn.net/article/details/135342256?spm=1001.2014.3001.5502 关于ES的下载安装教程以及基本使用,移步: https://bugman.blog.csdn.net/article/details/135342256?spm=1001.2014.3001.5502 在前文

    2024年01月25日
    浏览(51)
  • Elastic Search一些用法

    参考: 中国开源社区 官方介绍 ES 的权重排序 【Elasticsearch】ElasticSearch 7.8 多字段权重排序 ElasticSearch7.3学习(十三)----定制动态映射(dynamic mapping) 【Elasticsearch教程4】Mapping 动态映射 【Elasticsearch教程5】Mapping 动态模板 Dynamic templates 注意事项:需要先创建模板,然后添加数据

    2024年02月06日
    浏览(46)
  • elastic search入门

    参考1:Elastic Search 入门 - 知乎 参考2:Ubuntu上安装ElasticSearch_ubuntu elasticsearch-CSDN博客 1、ElasticSearch安装 1.1安装JDK,省略,之前已安装过 1.2创建ES用户 1.3 下载ElasticSearch安装包 Ubuntu上下载: 然后解压: 1.4配置 配置jvm.options 配置elasticsearch.yml: 根据以上设置的path.data和path.l

    2024年01月23日
    浏览(51)
  • SpringCloud整合Elastic Search

    1、配置Elastic Search 注释说明: spring.elasticsearch.rest.uris :设置Elastic Search的连接地址,这里的示例是本地地址 http://localhost:9200 ,根据实际情况修改。 spring.elasticsearch.username 和 spring.elasticsearch.password :设置Elastic Search的用户名和密码,如果没有设置访问控制,这两项可以省略

    2024年02月15日
    浏览(47)
  • Elastic Search 命令详解-索引操作

    关于Elastic Search安装可以参考《Elastic Search 8.6.2集群安装部署》及Kibana安装可以参考《Elastic Search 8.6.2简单操作》。相关命令将在Kibana工具的Console平台上执行。 Elastic Search索引操作主要包含:创建、删除、关闭和打开索引,以及索引别名的操作。其中,索引别名的操作在生产环

    2024年02月08日
    浏览(45)
  • 【搜索引擎】elastic search核心概念

    前言 本文不涉及ES的具体安装下载、操作、集群的内容,这部分内容会放在后面一篇文章中。本文只包含ES的核心理论,看完本文再去学ES的细节会事半功倍。 目录 1.由日志存储引出的问题 2.什么是ES? 3.ES的数据结构 4.ES的核心原理 5.联系作者 本文或者说本系列的来源: 前面

    2024年02月03日
    浏览(48)
  • Elastic Search的RestFul API入门:如何进行ES的查询-search

    在这篇教学文章中,我们将深入探讨Elasticsearch的search功能。这是一个非常强大且灵活的功能,它允许我们对存储在Elasticsearch中的数据进行各种复杂的查询和分析。本章的目标是让读者理解如何进行Elasticsearch的搜索,以及如何在搜索过程中自主调整搜索参数,从而灵活地控制

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包