Elasticsearch SQL
## 介绍  * [官方操作文档 **(opens new window)**](https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-overview.html#sql-why) 一般使用 `Elasticsearch` 的时候,会使用 `Query DSL` 来查询数据,从 `Elasticsearch6.3` 版本以后,`Elasticsearch` 已经支持`SQL`查询了。 `Elasticsearch SQL` 是一个 `X-Pack` 组件,它允许针对 `Elasticsearch` 实时执行类似`SQL`的 查询。无论使用`REST`接口,命令行还是`JDBC`,任何客户端都可以使用`SQL`对 `Elasticsearch`中的数据进行原生搜索和聚合数据。可以将 `Elasticsear
ElasticSearch之EQL操作
## 前述 `EQL` 的全名是 `Event Query Language (EQL)`。事件查询语言(EQL)是一种用于基于事件的时间序列数据(例如日志,指标和跟踪)的查询语言。在 `Elastic Security` 平台上,当输入有效的 `EQL` 时,查询会在数据节点上编译,执行查询并返回结果。这一切都快速、并行地发生,让用户立即看到结果。 ### EQL优点 * EQL 使你可以表达事件之间的关系:许多查询语言允许您匹配单个事件。EQL 使你可以匹配不同事件类别和时间跨度的一系列事件 * EQL 的学习曲线很低:EQL 语法看起来像其他常见查询语言,例如 SQL。 EQL 使你可以直观地编写和读取查 询,从而可以进行快速,迭代的搜索。 * EQL 设计用于安全用例:尽管你可以将其用于任何基于事件的数据,但我们创建了 EQL 来进行威胁搜寻。 EQL 不仅支持危害指标(IOC)搜索,而且可以描述超出 IOC 范围的活动 ## 基础语法 ### 数据准备 要运行 `EQL` 搜索,搜索到的数据流或索引必须包含时间戳和事件类别字段。默认情况下,`EQL` 使用
ElasticSearch-8.X的JAVA-API
## 前述 * 在`8.x`版本中,ES出了一个新的`Elasticsearch Java API Client`,[点击查看 **(opens new window)**](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/8.3/index.html),如果你要在`Springboot`高版本中使用,可以直接使用该API。 * `ES7.X`版本的JAVA-API[请查看🔎](/user/specialColumnArticleView?type=1&specialColumnId=1) * 以下示例,首先需要将`elasticsearch.yml`中的有关`ssl`的配置全部改为`false`,本地测试就不搞`HTTPS`那么麻烦了 * 示例代码已经上传到[gitee **(opens new window)**](https://gitee.com/lijunyi622/elastic-search8.x) ## 项目配置 ### 依赖引入 ```xml <dependency>
ElasticSearch-7.X的JAVA-API
## 前述 * 虽然现在`ES`已经到了`8.x版本`,但是目前实际运用中,`7.X版本`的还是比较多的,所以关于`ES`在`Java`中的使用,会区分`7.x版本` 和 `8.x版本` * **7版本**以`7.8.0`为例,**8版本**以`8.3.3`为例 * 当前章节为`7.8.0`版本在Java中的使用 * 8.3.3版本[请查看🔎](/user/specialColumnArticleView?type=1&specialColumnId=1) ## 项目配置 ### 依赖引入 ```xml <dependencies> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.8.0</version> </dependency> <!-- elasticsearch 的客户端 --> <dependency> <groupId>
ElasticSearch集成IK分词器
## 前述 为了能够更好地对中文进行搜索和查询,就需要在Elasticsearch中集成好的分词器插件, 而 `IK` 分词器就是用于对中文提供支持得插件。 ## 集成IK分词器 ### 下载 * [IK分词器下载 **(opens new window)**](https://github.com/medcl/elasticsearch-analysis-ik/releases) * 注意版本需要对应,目前`IK`分词器还没有`8.3.3`版本,所以就先重新下一个`8.2.3`版本的`ES` ### 安装 * 将下载的IK压缩包直接解压到 `elasticsearch-8.2.3` 的 `plugins`目录下,重启`ES` ### 使用 IK 分词器 IK 分词器提供了两个分词算法: ▶️ `ik_smart`: 会做最粗粒度的拆分,适合 Phrase 查询 ▶️ `Ik_max_word`:会将文本做最细粒度的拆分,会穷尽各种可能的组合,适合 Term Query * 为索引指定默认IK分词器 **这样我们在索引中就不用创建每一个字段,可以通过动态字段映射
ElasticSearch高级操作
## 数据准备 * 将ES中的索引全部删除 * 添加索引: `PUT people` * 添加几个文档  ## 高级查询 ### 分词查询:\_search * 请求方式:GET 索引名/\_search * 请求体内容 ```json { "query": { "match": { "name": "lisi" } } } ```  ### 查询所有文档:\_search * 请求方式:GET 索引名/\_search * 请求体内容 ```json { "query": { "match_all":
待开发模板创建、待开发应用创建、通讯录授权
## 服务商代开发 ### 创建待开发应用模板 - 网址: [创建待开发模板](https://open.work.weixin.qq.com/wwopen/developer#/sass/customApp/tpl/list) - 步骤 - 创建  - 填写资料  如果是通讯录应用,分类需要选择人力资源 - 配置开发信息  - 企业授权 **](https://www.elastic.co/cn/) [下载地址 **(opens new window)**](https://www.elastic.co/cn/downloads/past-releases#elasticsearch)  ### 安装软件 Windows 版的 Elasticsearch 的安装很简单,解压即安装完毕,这里我下载的目前最新版8.3.3,解压后的 Elasticsearch 的目录结构如下  | 目录 | 含义
ElasticSearch概念
## Elasticsearch 是什么  The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为 ES,ES 是一个**开源的高扩展的分布式全文搜索引擎**,是整个 Elastic Stack 技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。 ## 全文搜索引擎 Google,百度类的网站搜索,它们都是根据网页中的关键字生成索引,我们在搜索的时候输入关键字,它们会将该关键字即索引匹配到的所有网页返回;还有常见的项目中应用日志的搜索等等。对于这些非结构化的数据文本,关系型数据库搜索不是能很好的支持。 一般传统数据库,全文检索都
基于BIO模式下的即时通信客户端的实现
### 界面设计 1. 登录界面设计 1. ip地址输入 2. 用户名输入 示例图如下:  2. 聊天界面设计 1. 登录用户显示 2. 聊天内容显示 3. 在线用户显示 4. 私聊选择 5. @选择 6. 聊天输入及发送 示例图如下:  ### 界面代码实现 - 登录界面 ```java private JFrame loginView; private JTextField ipEt, nameEt, idEt; private void displayLoginView() { //
基于BIO模式下的即时通信服务端的实现
### 功能说明 - 客户端登录功能 - 可以启动客户端进行登录。 - 客户登录需要输入ip和用户名么。 - 在线人数实时更新 - 客户端用户登录以后,同步更新所有客户端联系人信息栏。 - 离线人数更新 - 检测到有客服端下线后,需要同步更新所有客户端联系人信息栏。 - 群聊 - 任意客户端发送的消息,可以推送给当前所有客户端接收。 - 私聊 - 可以选择某个员工,点击私聊按钮,然后发出的消息可以被该客户端单独接收。 - @消息 - 可以选择某个员工,然后发出的消息可以@该用户,但是其他人也可以看到 - 消息用户和消息时间点 - 服务端可以实时记录该用户的消息时间点,然后进行消息的多路转发。 ### 服务端实现 - 服务端代码 ```java package com.learnclub.chat; import java.io.IOException; import java.net.ServerSocket; import java.net.So
简易聊天机器人
### 简易聊天机器人 > 基于rasa框架的简单聊天机器人,需要安装rasa依赖 ### rasa安装 ``` pip3 install -U pip pip3 install rasa ``` ### 启动rasa action ``` rasa run actions ``` ### 命令行运行 ``` rasa shell ``` ### 模型训练 ``` rasa train ``` ### 运行api服务 ``` rasa run ``` [源码](https://github.com/zyw327/chat-bot "代码下载")