Elasticsearch 是什么?并且在 Kibana 上实践搜索!

Elasticsearch 是什么?

坦白说,这是一个NoSQL数据库引擎。

「开源全文搜索引擎」
「具有出色可扩展性的全文搜索引擎」
「支持多租户的搜索引擎」

我仔细阅读了这个说明文。
那么,数据存储在哪里呢?可以从哪里搜索得到呢?
Elasticsearch 是一个数据库引擎。

与像SQL Server这样的数据库引擎相比,对于“数据库”和“表格”相应的功能,称谓有所不同。

RDBElasticsearchデータベースインデックステーブルマッピングタイプカラム(列)フィールドレコード(行)ドキュメント

引用来源:什么是Elasticsearch,可以在3分钟内理解?

Kibana 是什么?

这是一个基于Web的应用程序,连接到Elasticsearch以实现数据可视化。

例子使用

我想考虑一下关于身边问题的例子,看看它有哪些用途。

在文件名搜索中。

我经常使用以文件名进行搜索的命令,这主要是因为我是Windows用户^^

dir csvr.cs /b/s/a

D:\Proj\xxxxxxxxxx\Csvr.cs
D:\Proj\yyyyyyyyyy\Csvr.cs
D:\Proj\zzzzzzzzzzzz\Csvr.cs
D:\Proj\wwwwwwwwwwww\Csvr.cs

尽管非常强大,但为了完全搜索子目录,会产生很长的等待时间。

如果事先将其转化成数据库,应该可以快速搜索。

如果在Elasticsearch中添加数据,并充分利用其强大的搜索引擎,或许可以缩短等待时间。

然而,由于文件的增减,数据库中的信息可能变得过时。需要定期更新数据,以确保其为最新信息。

按照Index API的说明,连续不断地输入文件信息的JSON。

PUT dd36/files/D%3A%5CProj%5Cxxxxxxxxxx%5CCsvr.cs
{
    path: "D:\Proj\xxxxxxxxxx\Csvr.cs",
    ext: "cs",
    name: "Csvr.cs",
    size: 4178
}

我正在使用urlencode文件路径作为键。
dd36是我的电脑名称。

数据投放到Elasticsearch后,可以访问Kibana。

例: http://ubunku:5601/ 可以进行如下的中文转述:

首先,我们将Kibana配置为识别索引dd36。

image.png
image.png
image.png
image.png

我认为这样就可以了。接下来进行搜索。

image.png

当使用 Csvr.cs 进行搜索时,它会帮助我们搜索到 name 为 Csvr.cs 的记录。

可以使用通配符。例如,可以进行类似 name:*csv*.cs 的搜索。
除 Csvr.cs 外,还会匹配到 Csvw.cs 的记录。

总结

    • Elasticsearch は、方々紹介されているように優れた検索エンジンです。

 

    • Elasticsearch へデータを登録してから、それらを検索します。

 

    • Kibana を使うと UI で検索できます。

 

    ワイルドカード検索を使うと便利!
广告
将在 10 秒后关闭
bannerAds