阅读文章并理解!Elasticsearch初学者必须了解的内容汇总

分布式开源搜索分析引擎Elasticsearch。最近你可能对它感兴趣,未来可能会在工作中使用,这样的人可能也是存在的。这个时候,你可以考虑一下…

    • Elasticsearch Reference | Elastic

 

    Elasticsearchのデータ操作入門 | Elastic

如果你看到的话就好!

如果提到(官方的话),毫无疑问是这样的。

    • とっかかりが英語だとハードルが高い

 

    とりあえず要点だけ把握してガンガン使ってみたい

我想很多人会有同样的困惑,所以我整理了一些适合初学者的好文章,并希望你们可以亲自试一试。

前提条件

    • OS:Windows10

 

    プログラミング言語:Java

我們重視創建一個環境並實際運作。因為我的主要環境和語言如上所述,所以請諒解這一點。其他環境的人可以參考「主題」3、4等相關內容。請注意部分內容參考了官方網站(英語),敬請諒解。

这个问题

1. 下载并设置 curl

用于与服务器和数据进行交互的工具,curl。虽然在使用Elasticsearch时,可能会问为什么要用curl,但它是执行基于命令的操作必不可少的工具。然而,令人遗憾的是,Windows默认情况下没有curl。所以需要下载它。

    Releases and Downloads | curl / Download

首先,将文件下载并解压,将路径设置为环境变量(用户环境变量)的bin文件夹。然后,在命令提示符下执行以下命令,确保日文不会出现乱码。

> chcp 65001

如果你对curl一无所知,想要掌握基本用法的话,那么可以选择以下方式。

    • curl コマンド 使い方メモ | Qiita

 

    よく使うcurlコマンドのオプション | Qiita

因为这非常有参考价值,所以建议一读。

准备Elasticsearch(和Kibana)环境。

现在,让我们开始建立Elasticsearch环境吧!虽然Kibana不是必需的,但可以不用。

    • Elasticsearchの操作を簡単にしたり、

 

    データを可視化したりできる

由于这个方便的工具,所以务必也要安装它。

    【Elasticsearch入門】環境構築 Windows編 | Qiita

如果参考一下,您就可以在Windows上准备好环境♪ 然而,由于下载时间非常长(我大约花了3.5个小时:Kibana没有那么长时间),如果您觉得Docker还可以使用的话,

    • 初めてのElasticsearch with Docker | Qiita

 

    • Elasticsearch + KibanaをDocker Composeで動かす | Qiita

 

    Dockerコンテナ上のElasticsearchのデータを永続化する | Qiita

可以参考周围的情况快速建立环境。
(即使进行设置内容的检查,也只需花费不到一个小时。)

在官方网站上,

    Install Elasticsearch with Docker | elastic

由于以上内容已经有所记载,您也可以参考这个。

3. 理解基本概念

那么!我们马上去试试吧!
不过,在此之前,理解基础概念是很重要的。
首先,不论环境的因素,我们先关注以下必要掌握的内容。

关于经常出现的术语,与关系型数据库(RDB)进行比较,更容易形象化理解。
虽然有多种解释可查,但以下组合最为贴切。

RDBElasticsearchデータベースClusterテーブルIndexテーブル定義Mappingレコード(行)Documentカラム(列)Fieldsプライマリーキー(主キー)Document ID

当然还存在差异,因此请详细说明。

    クライアントを作って学ぶElasticsearch | iPRIDE

请查看。

接下来是analyzer。
所谓analyzer,指的是进行文本分析并将其转换为最适合搜索的格式的过程。
analyzer主要由以下3个部分组成。

名称内容Character filters文字列に対し、Tokenizerで分割する前に必要な処理(追加、削除、変更)を行う。
前処理的ポジションで、使用は任意。Tokenizer文字列を単語レベルに分割する役割を持つ。
必須項目。Token filtersTokenizerで分割された内容に対し、必要な処理(追加、削除、変更)を行う。
後処理的ポジションで、使用は任意。

只需要一种选择,将以下内容用中文进行本地化:

在官方网站上,

    anatomy of analyzer | elastic

由於有確實記載,我們先確認一下。

最后,聚合。

根据搜索查询对数据进行汇总。

请用中文进行准确的表达:官方网站

    aggregations | elastic

请以周围为参考。

尝试在命令行界面下运行。

现在,我们开始操作Elasticsearch吧~!

就一般来说的内容而言,

    • はじめての Elasticsearch | Qiita

 

    【Elasticsearch】よく使うコマンド一覧 | Qiita

请参考周围的情况。

就与SQL进行比较的角度来看,

    • SQLとElasticsearchとのクエリの比較 | Qiita

 

    ElasticsearchとSQL対比しながら理解 | Qiita

这个问题非常清晰易懂且简洁明了♪

首先,根据上述的文章,以命令为基础进行操作。

    • インデックスの作成

 

    • データ投入&更新

 

    クエリ実行

你应该试试周围的事情。

如果有余力的话,最好也逐一介绍一下analyzer和aggregations。

有关分析器的问题,请使用日语。

    • Elasticsearchで、分かち書き(kuromoji:形態素解析)したqueryを_searchする。 | Qiita

 

    • Elasticsearchを日本語で使う設定のまとめ | Qiita

 

    【elasticsearch】Kuromojiとngramで検索精度を上げてみる | Qiita

以周边地区作为参考。

关于聚合(aggregations)方面,

    • ElasticsearchのAggregationsを利用したファセットの実現 | Qiita

 

    Elasticsearchの”Aggregations”を使って SQLの”Group by”を置き換える | Qiita

这周围可以作为参考。

5. 让我们尝试在编程语言(Java)中运行一下。

可以使用编程语言进行操作!

    Information out: search and analyze | elastic

根据消息称,Elasticsearch支持8种编程语言,包括Java、JavaScript、Go、.NET、PHP、Perl、Python和Ruby。但正如开头提到的,它的主要环境是Java,因此此次我们选择Java语言。

如果是日语文章的话,

    Java High Level REST Client Tips | Qiita

非常棒的总结。

本企业的主页如下。

    Java REST Client | Elastic

以下是我个人认为必须记住的网页。

Building Queries | Elastic
→ コマンドベースでのクエリと比較されてて、わかりやすい!

试着亲自编写代码并观察其运行效果,这样也很好。

对此触动的情感

最开始感觉很难上手,简直就是个该死的Elasticsearch!!但是使用的过程中渐渐理解了它,开始产生了感情。它的定制化范围很大,也有培养的价值,这一点很好。

我自己也是从2020年9月3日开始接触这篇文章的,已经大约两个星期了。
虽然还有很长的路要走,但我希望能够通过学习来逐渐适应,继续前进!

更新记录

日付内容2020/09/03初版投稿2020/09/04analyzer, aggregationsに関する内容を追加

请参照

虽然在本文中没有列出,但是以下是非常有参考价值的文章。

1. 捲曲 qū)

    Windows 環境における curl コマンド利用のまとめ (平成最終版) | Qiita

理解基本概念

    • Elasticsearch マッピング | Hello! Elasticsearch.

 

    Amazon Elasticsearch Serviceについてまとめてみる | Qiita
广告
将在 10 秒后关闭
bannerAds