当前位置: 首页 > news >正文

购物网站开发的背景和意义国外免费推广网站有哪些

购物网站开发的背景和意义,国外免费推广网站有哪些,深圳市公司排名,免费软件下载平台简介 Elasticsearch 是 Elastic Stack 核心的分布式搜索和分析引擎。 Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。 Kibana 使您能够以交互方式探索、可视化和分享对数据的见解#xff0c;并管理和监控堆栈。 Elasticsearch 可以快速索…简介 Elasticsearch 是 Elastic Stack 核心的分布式搜索和分析引擎。 Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。 Kibana 使您能够以交互方式探索、可视化和分享对数据的见解并管理和监控堆栈。 Elasticsearch 可以快速索引、搜索和分析海量数据。 Elastic 的底层是开源库 Lucene。但是你没法直接用 Lucene必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装提供了 REST API 的操作接口开箱即用。 官方文档(推荐)官方文档链接 官方中文官方中文文档链接 社区中文xiaoleilu.com、codingdict.com 一、基本概念 1、Index索引 动词相当于 MySQL 中的 insert 名词相当于 MySQL 中的 Database。 2、Type类型 在 Index索引中可以定义一个或多个类型。类似于 MySQL 中的 Table同种类型的数据放在一起。 3、Document文档 保存在某个索引Index下某种类型Type的一个数据Document文档是 JSON 格式的Document 就像是 MySQL 中的某个 Table 里面的内容。 二、Docker 安装 Es 1、下载镜像文件 docker pull elasticsearch:8.12 存储和检索数据 docker pull kibana:8.12 可视化检索数据 2、创建实例 1.ElasticSearch mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo http.host: 0.0.0.0 /mydata/elasticsearch/config/elasticsearch.yml chmod -R 777 /mydata/elasticsearch/ #保证权限 docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ -e discovery.typesingle-node \ -e ES_JAVA_OPTS-Xms64m -Xmx512m \ #设置初始内存和占用最大内存 -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:8.12 2.Kibana docker run --name kibana -e ELASTICSEARCH_HOSTShttp://xxx:9200 -p 5601:5601 \ -d kibana:8.12 #xxx为自己的虚拟机地址三、初步检索 1、_cat GET /_cat/nodes查看所有节点 GET /_cat/health查看 es 健康状况 GET /_cat/master查看主节点 GET /_cat/indices查看所有索引 show databases2、索引一个文档保存 在 customer 索引下的 external 类型下保存 1 号数据为: POST customer/external/1 { name: John Doe } #PUT 和 POST 都可以 #POST 新增。如果不指定 id会自动生成 id。指定 id 就会修改这个数据并新增版本号 #PUT 可以新增可以修改。PUT 必须指定 id由于 PUT 需要指定 id我们一般都用来做修改 #操作不指定 id 会报错。3、查询文档 GET customer/external/1 结果 { _index: customer, //在哪个索引_type: external, //在哪个类型_id: 1, //记录 id_version: 2, //版本号_seq_no: 1, //并发控制字段每次更新就会1用来做乐观锁_primary_term: 1, //同上主分片重新分配如重启就会变化found: true, _source: { //真正的内容name: John Doe} }4、更新文档 POST customer/external/1/_update { doc:{ name: John Doew} } 或者 POST customer/external/1 { name: John Doe2 } 或者 PUT customer/external/1 { name: John Doe }不同POST 操作会对比源文档数据如果相同不会有什么操作文档 version 不增加PUT 操作总会将数据重新保存并增加 version 版本带_update 对比元数据如果一样就不进行任何操作。 看场景 对于大并发更新不带 _update 对于大并发查询偶尔更新带 _update对比更新重新计算分配规则。 5、删除文档索引 DELETE customer/external/1 DELETE customer 6、bulk 批量 API POST customer/external/_bulk {index:{_id:1}} {name: John Doe } {index:{_id:2}} {name: Jane Doe } #语法格式 { action: { metadata }}\n { request body }\n { action: { metadata }}\n { request body }\n四、进阶索引 1、SearchAPI ES 支持两种基本方式检索 : 一个是通过使用 REST request URI 发送搜索参数uri检索参数另一个是通过使用 REST request body 来发送它们uri请求体 检索信息 请求参数方式检索 GET bank/_search?q*sortaccount_number:asc #响应结果解释 took - Elasticsearch 执行搜索的时间毫秒 time_out - 告诉我们搜索是否超时 _shards - 告诉我们多少个分片被搜索了以及统计了成功/失败的搜索分片 hits - 搜索结果 hits.total - 搜索结果 hits.hits - 实际的搜索结果数组默认为前 10 的文档 sort - 结果的排序 key键没有则按 score 排序 score 和 max_score –相关性得分和最高得分全文检索用uri请求体进行检索 GET bank/_search { query: { match_all: {}},sort: [{ account_number: { order: desc}}] }2、Query DSL (1) 基本语法格式 Elasticsearch 提供了一个可以执行查询的 Json 风格的 DSLdomain-specific language 领域特定语言。这个被称为 Query DSL。该查询语言非常全面并且刚开始的时候感觉有点复杂真正学好它的方法是从一些基础的示例开始的。 一个查询语句 的典型结构: {QUERY_NAME: {ARGUMENT: VALUE, ARGUMENT: VALUE,... } }如果是针对某个字段那么它的结构如下 {QUERY_NAME: {FIELD_NAME: {ARGUMENT: VALUE, ARGUMENT: VALUE,... }} }比如 GET bank/_search { query: { match_all: {}},from: 0, size: 5, sort: [{ account_number: { order: desc}}] }其中: query 定义如何查询match_all 查询类型【代表查询所有的所有】es 中可以在 query 中组合非常多的查询类型完成复杂查询除了 query 参数之外我们也可以传递其它的参数以改变查询结果。如 sortsizefromsize 限定完成分页功能sort 排序多字段排序会在前序字段相等时后续字段内部排序否则以前序为准 其他常用的语法比如 match【匹配查询】 match_phrase【短语匹配】 multi_match【多字段匹配】 bool【复合查询】 filter【结果过滤】 term【全文检索字段用 match其他非 text 字段匹配用 term。】 aggregations【执行聚合】最简单的聚合方法大致等于 SQL GROUPBY 和 SQL 聚合函数 具体使用方法见官网ElasticSearch官方文档链接 3、分词 一个 tokenizer分词器接收一个字符流将之分割为独立的 tokens词元通常是独立的单词然后输出 tokens 流。例如whitespace tokenizer 遇到空白字符时分割文本。它会将文本 “Quick brown fox!” 分割为 [Quick, brown, fox!]。该tokenizer分词器还负责记录各个 term词条的顺序或 position 位置用于 phrase 短语和 word proximity 词近邻查询以及 term词条所代表的原始 word单词的 start 起始和 end结束的 character offsets字符偏移量用于高亮显示搜索的内容。Elasticsearch 提供了很多内置的分词器可以用来构建 custom analyzers自定义分词器。 1安装 ik 分词器 进入 es 容器内部 plugins 目录 docker exec -it 容器 id /bin/bash wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-anal ysis-ik-7.4.2.zip unzip 下载的文件 rm –rf *.zip mv elasticsearch/ ik 以确认是否安装好了分词器 cd ../bin elasticsearch plugin list即可列出系统的分词器2测试分词器 使用默认请观察结果 POST _analyze { text: 我是中国人 }使用分词器请观察结果 POST _analyze { analyzer: ik_smart, text: 我是中国人 }具体使用技巧参考以下链接ik分词器github链接 五、Elasticsearch-Rest-Client 1、9300TCP spring-data-elasticsearch:transport-api.jar springboot 版本不同 transport-api.jar 不同不能适配 es 版本7.x 已经不建议使用8 以后就要废弃 2、9200HTTP JestClient非官方更新慢RestTemplate模拟发 HTTP 请求ES 很多操作需要自己封装麻烦HttpClient同上Elasticsearch-Rest-Client官方 RestClient封装了 ES 操作API 层次分明上手简单 最终选择 Elasticsearch-Rest-Clientelasticsearch-rest-high-level-client https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html 1、SpringBoot 整合 dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactIdversion8.12/version /dependency2、配置 Bean RestHighLevelClient client() { RestClientBuilder builder RestClient.builder(new HttpHost(自己的虚拟机地址, 9200, http));return new RestHighLevelClient(builder); }3、使用 参照官方文档 Test void test1() throws IOException {Product product new Product();product.setSpuName(华为);product.setId(10L);IndexRequest request new IndexRequest(product).id(20).source(spuName,华为,id,20L);try {IndexResponse response client.index(request, RequestOptions.DEFAULT);System.out.println(request.toString());IndexResponse response2 client.index(request, RequestOptions.DEFAULT);} catch (ElasticsearchException e) {if (e.status() RestStatus.CONFLICT) {}} }
http://www.tj-hxxt.cn/news/132549.html

相关文章:

  • 网站设计配色方案男女直接做那个视频网站
  • 济南网站建设服务公司个人网站开发总结文档
  • 泰州做网站 泰公网络科技公司常用的搜索引擎网站
  • 教育公司网站模板drupal joomla wordpress
  • 网站 自适应jsWordPress添加工单功能
  • 淘宝建站程序宁波网络营销策划哪家公司好
  • 简单个人博客模板网站织梦网站
  • wordpress项目管理插件网站关键词优化排名外包
  • 建外贸网站有效果吗html5网页制作作业
  • 6入空间网站免费观看长春财经学院多大
  • 手工建站与模板网站的区别在线制作网站的平台
  • 个人做跨境电商的平台网站有哪些网站主题定位
  • 下列哪个网站不属于sns(社交网络)深圳网站设计收费标准
  • 北京人才招聘网站elgg与wordpress对比
  • 传奇网站怎么制作教程网站开发 策划是干嘛的
  • 网站建设 加盟网站建设需要怎么做
  • 注册服务器网站哪个好phpcms做装修网站
  • 怎样给网站做优化中国建筑集团有限公司排名
  • jsp mysql 网站开发百度收录网站要多久
  • 用php做的网站模版采集网站开发
  • 劳务 东莞网站建设网站建设 苏州
  • 制作网站需要哪些素材营销型网站制作多少钱
  • 网站seo排名优化方法域名注册多少钱
  • 曲靖网站推广做哪方面的网站好呢
  • 罗湖商城网站设计0735郴州招聘信息网
  • 更新网站内容有什么用互联网站备案表
  • 自己可以建设网站吗微信扫码即可打开的网站如何做
  • 免费刷粉网站推广设计公司展厅装修
  • 网站建设微信公众号广告片拍摄制作公司
  • 建设一个下载资料的网站企业网站模板 首页大图