一、初识 Elasticsearch:概念,安装,设置分词器

ElasticSearch系列——分词器 扩展词典:就是有些词并不是关键词,但是也希望被ES用来作为检索的关键词,可以将这些词加入扩展词典。停用词典:就是有些词是关键词,但是出于业务场景不想使用这些关键词被检索到,可以将这些词放入停用词典。我们可以直接去文件中进行定义,你问我怎么知道的?人家README里写的。 阅读详情

01、初识 Elasticsearch

本次ES基于:7.12.1 版本
学习资源为:https://www.bilibili.com/video/BV1Gh411j7d6

什么是ES(Elasticsearch)

elasticsearch 结合 kibana、Loastash、Beats,也就是elastic stack (ELK)。被广泛应用在日志数据分析、实时监控等领域。

elasticsearch 是 elastic stack 的核心,负责存储、搜索、分析数据。

在这里插入图片描述

ES的发展

ES底层基于 Lucene

Lucene 是一个 Java 语言的搜索引擎类库,是 Apache 公司的顶级项目,由 DougCutting 于1999年研发官网地址: https://lucene.apache.org/。

Lucene的优势:

  • 易扩展
  • 高性能(基于倒排索引)

Lucene的缺点:

  • 只限于Java语言开发
  • 学习曲线陡峭
  • 不支持水平扩展

2004年shay Banon基于Lucene开发了Compass

2010年shay Banon 重写了 Compass,取名为Elasticsearch。官网地址: https://www.elastic.co/cn/。相比与lucene,elasticsearch具备下列优势:

  • 支持分布式,可水平扩展
  • 提供 Restful 接口,可被任何语言调用

为什么学习elasticsearch?

搜索引擎技术排名:

  1. Elasticsearch:开源的分布式搜索引擎

  2. Splunk:商业项目

  3. Solr:Apache的开源搜索引擎

正向索引和倒排索引

传统数据库(如MySQL)采用正向索引,例如给下表 (tb goods)中的id创建索引

在这里插入图片描述

elasticsearch采用倒排索引:

  • 文档(document):每条数据就是一个文档

  • 词条(term):文档按照语义分成的词语

在这里插入图片描述

倒排索引是根据词条查找文档。

索引

索引(index):相同类型的文档的集合。不同的JSON结构就代表一个不同的索引。

映射 (mapping):索引中文档的字段约束信息,类似表的结构约束

在这里插入图片描述

MySQL与ES的概念映射

在这里插入图片描述

Mysql: 擅长事务类型操作,可以确保数据的安全和一致性。

Elasticsearch:擅长海量数据的搜索、分析、计算。

在这里插入图片描述

安装ES

使用docker创建网络,拉取镜像。

docker network create es-net
docker pull elasticsearch:7.12.1
docker pull kibana:7.12.1

运行命令

docker run -d \
--name es  \
-e"ES_JAVA_OPTS=-Xms512m -Xmx512m"  \
-e"discovery.type=single-node" \
-v es-data:/usr/share/eTasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
  • discovery.type=single-node:单点模式
  • es-data:数据目录
  • es-plugins:插件目录
  • 9200:HTTP端口。9300:各个ES容器互联的端口。

访问

http://ip:9200/
{
"name": "a340f52223b0",
"cluster_name": "docker-cluster",
"cluster_uuid": "ppw1gfsiQbqDdsNfmivM0A",
"version": {
    "number": "7.12.1",
    "build_flavor": "default",
    "build_type": "docker",
    "build_hash": "3186837139b9c6b6d23c3200870651f10d3343b7",
    "build_date": "2021-04-20T20:56:39.040728659Z",
    "build_snapshot": false,
    "lucene_version": "8.8.0",
    "minimum_wire_compatibility_version": "6.8.0",
    "minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}

运行Kibana

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1  
  • ELASTICSEARCH_HOSTS=http://es:9200 : es:9200 为上述 --name es \ 时设置的名字。

分词器

es在创建倒排索引时需要对文档分词;在搜索时,需要对用户输入内容分词。但默认的分词规则对中文处理并不友好。

我们在kibana的DevTools中测试:

POST /_analyze
{
  "analyzer": "standard",
  "text": "南京市长江大桥。"
}

安装分词器

下载:https://github.com/medcl/elasticsearch-analysis-ik/releases?page=6

解压后上传到 es-plugins 中,可通过如下目录查看。

docker volume inspect es-plugins
{
    "Mountpoint": "/var/lib/docker/volumes/es-plugins/_data",
}

在这里插入图片描述

docker restart es

测试ik分词

ik_smart:粗粒度

请求:
POST /_analyze
{
  "analyzer": "ik_smart",
  "text": "南京市长江大桥。"
}

响应:

{
  "tokens" : [
    {
      "token" : "南京市",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "长江大桥",
      "start_offset" : 3,
      "end_offset" : 7,
      "type" : "CN_WORD",
      "position" : 1
    }
  ]
}

请求:ik-max-word:细粒度

请求:
POST /_analyze
{
  "analyzer": "ik_max_word",
  "text": "南京市长江大桥。"
}
-----------------------------
{
  "tokens" : [
    {
      "token" : "南京市",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "南京",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 1
    },
....
  ]
}

分词器的设置

添加字典

要拓展ik分词器的词库,只需要修改一个ik分词器目录中的config目录中的IkAnalyzer.cfg.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>IK Analyzer 扩展配置</comment>
    <!--用户可以在这里配置自己的扩展字典 -->
    <entry key="ext_dict">ext_dict.dic</entry>
    <!--用户可以在这里配置自己的扩展停止词字典-->
    <entry key="ext_stopwords">stopword.dic</entry>
	<!--用户可以在这里配置远程扩展字典 -->
	<!-- <entry key="remote_ext_dict">words_location</entry> -->
	<!--用户可以在这里配置远程扩展停止词字典-->
	<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

去除停用词

<entry key="ext_stopwords">stopword.dic</entry>

结束语

下一篇:二、ElasticSearch中索引库与文档操作
学习资源为:https://www.bilibili.com/video/BV1Gh411j7d6

Elasticsearch IK 插件 热更新词库 修改配置文件 <!--用户可以在这里配置远程扩展字典 --> <entry key="remote_ext_dict">location</entry> <!--用户可以在这里配置远程扩展停止词字典--> <entry key="remote_ext_stopwords">location</entry> 其中 location 是指一个 url,比如 http://192.168.1.147:8000/group/essay/sb 阅读详情

相关推荐

ElasticSearch系列(四)ES集成IK分词器以及使用方式

ES的分词器 ES默认的分析器,是标准分词器, { "tokens": [ { "token": "正", "start_offset": 0, "end_offset": 1, "type": "<IDEOGRAPHIC>", "posit...

雨剑的博客 1万+

ES-分词器

分词器是es中的一个组件,通俗意义上理解,就是将一段文本按照一定的逻辑,分析成多个词语,同时对这些词语进行常规化的一种工具;ES会将text格式的字段按照分词器进行分词,并编排成倒排索引,正是因为如此,es的查询才如此之快。一个analyzer即分析器,无论是内置的还是自定义的,只是一个包含character filters(字符过滤器)、 tokenizers(分词器)、token filters(令牌过滤器)三个细分模块的包。character filters(字符过滤器)

weixin_39682289的博客 1万+

web搜索引擎(三)-- 初识es

这里说一下,只是为了防止忘记。 目录 一:es以及相关的插件的安装 1.es的安装 2:es-head安装 3:中文分词器的安装 二:es的初步应用 1.es的初步应用 2.索引到字段的建立 (1)验证中文分词器(以postman或者head验证) (2)单独建立索引 (3)建立映射 (4)添加表数据 (5)数据查询 三:springboot整合es 一:es以及相关...

qq_35755863的博客 2837

【9种】ElasticSearch分词器详解,一文get!!!| 博学谷狂野架构师

分词器的主要作用将用户输入的一段文本,按照一定逻辑,分析成多个词语的一种工具顾名思义,文本分析就是把全文本转换成一系列单词(term/token)的过程,也叫分词。在 ES 中,Analysis 是通过分词器(Analyzer)来实现的,可使用 ES 内置的分析器或者按需定制化分析器。举一个分词简单的例子:比如你输入,会自动帮你分成两个单词,一个是mastering,另一个是,可以看出单词也被转化成了小写的。当内置的分词器无法满足需求时,可以创建custom类型的分词器。

博学谷狂野架构师的博客 1万+

【UOJ170】Picks loves segment tree VIII

【题目链接】 点击打开链接 【前置阅读】 【BZOJ4695】最假女选手 【BZOJ3064】【TYVJ1518】CPU监控【UOJ169】【UR #11】元旦老人与数列 【思路要点】 前置阅读中的前两题中,我们分别对线段树的区间取最大/最小值和线段树的历史最大/最小值进行了研究。本题中,两类问题同时出现,因此我们

cz_xuyixuan的博客 1246

SA8155 QNX显示框架与WFD配置实战:从黑屏排查到高可用设计

智能座舱中,车载显示系统的稳定性直接关系到驾驶安全。QNX作为高安全性的操作系统,在座舱仪表、ADAS等关键域中承担着确定性调度与隔离职责,其图形体系Screen与显示输出框架WFD协同工作,构成从应用渲染到面板点亮的完整链路。WFD配置涉及时序、通道映射与行为控制,任何参数偏差或加载异常都可能导致黑屏、花屏等故障。为保障系统可用性,需结合心跳监控、日志采集、通路重试与备份显示切换等策略,构建兼具快速感知与恢复能力的防御体系。本文以SA8155平台为例,深入拆解QNX显示框架的架构与WFD配置要点,结合一次

weixin_29165465的博客 204

ElasticSearch学习专题(一)初识ES及安装、基本指令

二者安装都很简单。1、Solr利用Zookeeper进行分布式管理,而Elasticsearch 自身带有分布式协调管理功能。2、Solr支持更多格式的数据,比如JSON、XML、CSV,而 Elasticsearch 仅支持 json文件格式。3、Solr在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于。​​分布式搜索和分析引擎,负责存储、检索和分析数据核心功能:全文搜索、结构化搜索、数据分析​​数据处理管道工具,用于收集、解析和转换数据。

2303_80933038的博客 971

Halcon实例转OpenCVSharp--粘连物体分割与计数(基于距离变换+分水岭算法) (附源码)

本文作者Color Space,文章未经作者允许禁止转载! 本文将介绍OpenCVSharp应用实例--粘连物体分割与计数(基于距离变换+分水岭算法)! 本文使用的OpenCVSharp版本---》v4.5.3。 实现目标:将下图中的硬币分割出来并计算数量。 预期效果图: ...

Color Space的博客 2419

Elasticsearch详细笔记(一):认识和安装ES--倒排索引--IK分词器

关于elasticsearch的基础知识,IK分词器的安装使用

m0_73927143的博客 1302

Power EM与Signal EM解决办法与原理分析

1.面对power EM,首先检查missing via,补全via,还可以加宽,加密局部power mesh,一些power IO出pin有power EM问题,可以叠加多层线和垂直方向补power形成网络降低并联电阻和提供更多电流通路解决,这种方法还可以降低ir drop。3.先进工艺有一个via ladder的方法可以解决power/signal em问题,clock cell出pin绕线或者power rail连接power stripe通过搭梯子的方式连接,原理还是分流。

m0_61544122的博客 4743

使用手机录制rosbag包

使用手机作为便携式数据采集设备来录制rosbag。

weixin_38582851的博客 615

ES的安装和RestClient的操作

什么是elasticsearch? 1、一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能 什么是elastic stack (ELK) ? 2、是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch 什么是Lucene? 3、是Apache的开源搜索引擎类库,提供了搜索引擎的核心API 什么是文档和词条? 1、每一条数据就是一个文档 2、对文档中的内容分词,得到的词语就是词条 什么是正向索引? 1、基于文档id创

java领域博主 4497

2023年五一数学建模 | 第二十届五一数学建模C题:“双碳”目标下低碳建筑研究

2023年五一数学建模 | 第二十届五一数学建模C题:“双碳”目标下低碳建筑研究

前程算法屋的博客 1377

分布式搜索引擎Elasticsearch(一)

是一款非常强大的开源的分布式的搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。elasticsearch结合kibana、Logstash、Beats,也就是elastic stack(ELK),换句话说 ELK 就是以 Elasticsearch 为核心的技术栈,包括了 kibana、Logsash、Beats。

菜鸟的博客 3216

Linux kernel crypto的介绍和代码导读

在Linux kernel的module_init阶段会将algif_type_skcipher、algif_type_aead、algif_type_hash、algif_type_rng 四种算法注册.在userspace通过netlink调用了,kernel种的af_alg模块收到消息后, 根据上层传来的算法种类名字来选择走哪一个结构体(alg_type_xxx)的ops函数。也就是添加到af_alg维护的alg_types链表种. alg_types链表种仅有这四个数据.

baron-周贺贺-代码改变世界ctw 321

一文搞懂数据标注

数据标注即通过分类、画框、标注、注释等,对图片、语音、文本等数据进行处理,标记对象的特征,以作为机器学习基础素材的过程。简言之,就是需要给数据做好标注,这样机器就能知道学习哪些内容。

女王の专属领地 9936

Elasticsearch(一、入门+SpringBoot整合ES+JavaAPI操作ES)

1-今日内容 初识 ElasticSearch 安装 ElasticSearch ElasticSearch 核心概念 操作 ElasticSearch ElasticSearch JavaAPI 2 初识ElasticSearch 2.1 基于数据库查询的问题 数据库搜索存在问题:性能较低、功能比较弱 2.2 倒排索引 倒排索引:将文档进行分词,形成词条和id的对应关系即为反向索引。 以唐诗为例,所处包含“前”的诗句 正向索引:由《静夜思》–>窗前明月光—>“前”字 反向索引:“前”

落日的博客 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ElasticSearch入门到精通、快熟上手①(ES基础概念、详细安装流程;ik分词器安装...)

es、kibana,ik分词器详细安装教程;ES基础盖概念;分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度ik_max_word:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的IkAnalyzer.cfg.xml文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条。

weixin_57558097的博客 914

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【ElasticSearch系列-01】初识以及安装elasticSearch

es初步入门

zhenghuishengq的博客 8667

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Elasticsearch搜索引擎

什么是elaticsearch?一个开源的分布式搜索引擎,可以用来实现搜索,日志统计,分析,系统监控等功能什么是elastic stack(ELK)?是以elaticsearch为核心的技术栈,包括bears,Logstash,kibana,elaticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API什么是文档和词条?每一条数据就是一个文档对文档中的内容分词,得到的词语就是词条什么是正向索引?基于文档id创建索引,查询词条时必须先找到文档,而后判断是否包含词条。

qq_53573029的博客 3851

Elasticsearch从入门到项目部署 安装 分词器 索引库操作

分词器的作用是什么?创建倒排索引时,对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度:最细切分,细粒度IK分词器如何拓展词条?如何停用词条?利用config目录的文件添加拓展词典和停用词典在词典中添加拓展词条或者停用词条索引库操作有哪些?创建索引库:PUT /索引库名查询索引库:GET /索引库名删除索引库:DELETE /索引库名修改索引库,添加字段:PUT /索引库名/_mapping。

我亦无他,唯手熟尔 1667

ElasticSearch内容分享(一):ElasticSearch介绍

elasticsearch底层是基于lucene来实现的。Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。。2004年Shay Banon基于Lucene开发了Compass2010年Shay Banon 重写了Compass,取名为Elasticsearch。

之乎者也·的博客 1103

分布式搜索引擎ElasticSearch——基础

https://lucene.apache.org/ https://www.elastic.co/cn/ https://github.com/medcl/elasticsearch-analysis-ik因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络: 加载镜像 这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。网速没问题的话,直接去pull也没问题只要记得指定版

shall_zhao的博客 1353

【微服务】第24节:初识搜索引擎 ElasticSearch

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。

m0_46013789的博客 1413

ElasticSearch(ES从入门到精通一篇就够了)

elasticsearch底层是基于lucene来实现的。Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发。。2004年Shay Banon基于Lucene开发了Compass2010年Shay Banon 重写了Compass,取名为Elasticsearch。如何使用拼音分词器?①下载pinyin分词器②解压并放到elasticsearch的plugin目录③重启即可如何自定义分词器?

qq_45910820的博客 2168

Elasticsearch——介绍、安装与初步使用

本文介绍了 Elasticsearch 的概念、安装、索引库操作和文档操作等相关知识。

代码星辰的博客 6289
上一篇: Leetcode 283. 移动零
下一篇: 二、ElasticSearch中索引库与文档操作
种花途。
博客等级 码龄10年 3粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值