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

网站建设公开招标正规的合肥网站建设价格

网站建设公开招标,正规的合肥网站建设价格,wordpress首页文章排序,局网站建设管理制度ZincSearch Zinc 简单、强大#xff0c;不了解的同学可以参见我之前的博客。今天我们这里谈谈 Java 环境如何集成 Zinc 客户端#xff0c;跟如何使用的。 安装 Zinc 到 Github 的官方 Releases 下载#xff1a; 我的是 Windows 开发环境#xff0c;下载 zincsearch_0.4…ZincSearch Zinc 简单、强大不了解的同学可以参见我之前的博客。今天我们这里谈谈 Java 环境如何集成 Zinc 客户端跟如何使用的。 安装 Zinc 到 Github 的官方 Releases 下载 我的是 Windows 开发环境下载 zincsearch_0.4.1_Windows_x86_64.tar.gz解压两次。Zinc 是 Go 程序编译后一个 .exe 文件之前它就启动的搜索引擎以及一个 Web 服务。 第一次运行 Zinc 之前你需要设置一下环境变量用于设置账号跟密码。设置过一次之后就不用再设置环境变量了。 set ZINC_FIRST_ADMIN_USERadmin set ZINC_FIRST_ADMIN_PASSWORDComplexpass#123 mkdir data zinc.exe注意 cmd 应该在管理员的权限下执行。 成功启动后在浏览器访问 http://localhost:4080登录后如下图所示。 Zinc 搜索概念入门 Zinc 中的 document 文档概念对应就是数据库中的“实体”。下面我们一律称之实体。所谓搜索数据库实质就是冗余你 DBMS 的一份数据你 MySQL/Oracle/SQLServer 有什么数据要搜索的就怼到 Zinc 中去。自然有了数据冗余就要涉及一致性的问题或者说是同步的问题。当然我们采取的策略是当业务层或者 ORM 层 CRUD 数据的时候也同步地操作一次 Zinc 数据通过这个客户端来完成不用考虑额外的同步工作。 这里所谓同步的工作无非多一次的 CRUD 工作。我们来看看这个客户端能怎么完成 CRUD 的。 建立索引 index 在真正进入 SDK 之前先说说 Zinc 的 index 概念。 Zinc 的 index类似于数据库中的表Table所以建立索引也类似于我们数据库的建表CREATE TABLE操作一样有名称、类型type等设置当然结合搜索引擎的特性还有 index、sortable、aggregatable 等相关特性的设置字段。 Zinc 没有 SQL 这样的 DSL 操作语句一切都是通过 HTTP 与 JSON 来交互操作。典型的一个索引定义如下 JSON Key/Value首先有名称 name还有设置参数 settings不填则默认最重要的mappings 里面定义了每个 properties 它相当于数据库的列定义Column {name: web,storage_type: disk,settings: {},mappings: {properties: {timestamp: {type: date,index: true,store: false,sortable: true,aggregatable: true,highlightable: false,term_positions: false},_id: {type: keyword,index: true,store: false,sortable: true,aggregatable: true,highlightable: false,term_positions: false},content: {type: text,index: true,store: true,sortable: false,aggregatable: true,highlightable: true,term_positions: true},title: {type: text,index: true,store: true,sortable: false,aggregatable: false,highlightable: true,term_positions: true}}} } 建立索引是使用 Zinc 的第一步。所谓建立索引就是将上述 JSON POST 到 Zinc 的 API 接口中去。你用 Postman/curl 等工具固然可以用 SDK/客户端也可以。但我更推荐用服务自带的 Web UI 去创建。 当前非常抱歉的是我们的 Java SDK 暂时未对接 index 接口。故看官您还需自己到 Web UI 去创建 index。 使用 Java SDK 要求 Java1.8。 Maven 依赖 请通过 Maven 引入本客户端。 dependencygroupIdcom.ajaxjs/groupIdartifactIdaj-zincsearch-sdk/artifactIdversion1.0/version /dependency我们的这个客户端很少依赖除了自己写的一个工具库之外还依赖 spring-core 的一些工具方法。注意这是 spring 的 core不是全集并不大。一般大家都用 Spring所以默认选用了。如果你实在不想依赖 Spring请告诉我——去掉 Spring core 依赖问题也不大。 初始化设置 DocumentService docService new DocumentService(); docService.setApi(http://localhost:4080); docService.setUser(admin); docService.setPassword(Complexpass#123);源码 我们肯定是开源的源码在https://gitee.com/sp42_admin/ajaxjs/tree/master/aj-zincsearch-sdk。如有不足请多提宝贵意见 增删改查 CRUD 创建实体 创建实体那么实体究竟是什么呢——对于我们这个客户端而言允许接收两种格式的实体Map 和 Java Bean。这是 Java 编程里面最为常见的数据格式分别对应的类型是MapString, Object 和 Object。最后实体均化作 JSON 传给 Zinc。 Zinc 创建一个实体可以指定 id 的也可以不指定让 Zinc 生成随机字符作为 id。一般情况我们都是指定好实体的 id。这样有个好处便是Zinc 搜索出来结果了可以通过 id 返回给你的业务系统晓得你系统内的所对应的实体如何。 一般而言一个 index 里面的 id 应该保持唯一不重复否则重复 id 都不晓得该取哪个结果。 我们客户端封装好的创建实体方法如下几个位于 DocumentService 类。 /*** 创建实体* * param target index 名称* param bean Java 实体 Bean* return*/ public ZincResponse create(String target, Object bean);/*** 创建实体* * param target index 名称* param doc Java 实体 Map* return*/ public ZincResponse create(String target, MapString, Object doc);/*** 创建实体* * param target index 名称* param bean Java 实体 Bean* param id 实体 id* return*/ public ZincResponse create(String target, Object bean, Serializable id);/*** 创建实体* * param target index 名称* param bean Java 实体 Map* param id 实体 id* return*/ public ZincResponse create(String target, MapString, Object doc, Serializable id);调用例子如下 MapString, Object doc ListUtils.hashMap(title, AIGC带你看来自“天涯海角”的新种子); doc.put(content, 央视新闻《开局之年“hui”蓝图》系列微视频用AI视角带您看两会。\r\n \r\n 目前中国的水果产量稳居世界第一国人的“果盘子”琳琅满目瓜果飘香。而作为全球第一的肉类生产和消费大国近十多年来全国居民牛羊肉消费量也持续提升。未来的水果产业和牛羊养殖业什么样让我们跟随AIGC感受从田间走到舌尖的“新科技”。);ZincResponse resp docService.create(target, doc); assertNotNull(resp);resp docService.create(target, doc, 2l); assertNotNull(resp);返回结果 既然是 HTTP API 请求自然就有响应。我们是怎么封装响应结果的呢很简单基础封装 Bean然后具体结果还是放在一个 Map 里面请见 ZincResponse 类结构 /*** Zinc API 返回的结果* * author Frank Cheung sp42qq.com**/ Data public class ZincResponse {/*** 正常返回结果的信息*/private String message;/*** 是否返回异常*/private Boolean hasError;/*** 异常信息*/private String errMsg;/*** 原始返回的 JSON*/private MapString, Object rawResult; }主要是调用 getHasError() 辨别成功与否具体返回信息在 MapString, Object rawResult 里面请用户针对具体的信息获取想要的内容我们就不多封装了。 实体的更新 与创建不同你必须指定实体之 id 来进行更新——显然如果没传Zinc 哪知道修改哪个实体。 更新同样支持 MapString, Object 和 Java Bean 两种格式。 /*** 更新实体* * param target index 名称* param bean Java 实体 Bean* param id 实体 id* return*/ public ZincResponse update(String target, Object bean, Serializable id);/*** 更新实体* * param target index 名称* param bean Java 实体 Map* param id 实体 id* return*/ public ZincResponse update(String target, MapString, Object doc, Serializable id);调用例子如下 MapString, Object doc ListUtils.hashMap(title, 222222222AIGC带你看来自“天涯海角”的新种子); doc.put(content, 央视新闻《开局之年“hui”蓝图》系列微视频用AI视角带您看两会。\r\n \r\n 目前中国的水果产量稳居世界第一国人的“果盘子”琳琅满目瓜果飘香。而作为全球第一的肉类生产和消费大国近十多年来全国居民牛羊肉消费量也持续提升。未来的水果产业和牛羊养殖业什么样让我们跟随AIGC感受从田间走到舌尖的“新科技”。);docService.update(target, doc, 2l);注意每次更新必须是“全量更新”例如一则新闻有 title 和 content 字段用户只修改了标题 titlecontent 内容不变你还是要传 content 字段的。否则 Zinc 只保存了 titlecontent 就丢失了。所以你必须在 JSON 提交完整的实体数据在 Update 的操作中。 实体的删除 删除很简单。 /*** 删除实体* * param target index 名称* param id 实体 id* return*/ public ZincResponse delete(String target, Serializable id) ;调用例子如下 ZincResponse resp docService.delete(target, 2l); assertNotNull(resp);批量操作 TODO 搜索 Search TODO
http://www.hkea.cn/news/14552373/

相关文章:

  • 网站开发 进度表wordpress 切换中文
  • 曲阜网站建设多少钱考试网站建设
  • 手机商城网站东莞网站推广电话
  • 绿色大气网站模板设计方案收费标准
  • p2p网站建设陕西网站开发公司电话
  • 网站开发费税率是多少钱做网站多少分辨率就可以
  • 孝感网站开发服务器公司网站
  • 什么是网站主机怎么在百度首页做网站
  • 做intor的网站网站建设300元
  • 欧美 电台 网站模板4wordpress企业主题模板下载
  • php 网站网站建设 服务内容
  • 网页设计素材网站花南头英文网站建设
  • 门户网站建设 考核wordpress4.0.1
  • 广西网站建设流程小程序wordpress打包
  • 网站专题制作中山哪里有好网站建设公司
  • 深圳腾网站建设网站没有备案怎么做支付
  • 哪个公司需要做网站福田企业网站推广哪里好
  • wordpress显示所有文章列表廊坊优化软件
  • 2016wap网站开发语言沧州企业网站专业定制
  • 手机网站自动跳转网站动画效果怎么做的
  • 网站建设费用会计入什么费用判断网站
  • 如何免费建设网站com万网会员
  • 网站建设vps营销运营推广服务
  • 网站建设公司案例网站推广方法渠道
  • 钟楼区建设局网站全球营销策划公司排名
  • 做网站其实不贵跨境电商的现状及前景
  • 个人做外包网站多少钱广州响应式网站咨询
  • 网站整站截图动易网站建设实训报告
  • 唐山网站制作中文一级a做爰片免费网站
  • 东莞做网站软件网站推广企业