需求分析: 我不想使用solr默认的主键id,我想换成其他的,比如我的文章id为article_id,我想让article_id作为主键. 而且,我的主键是int类型,而solr的主键默认是string类型,我们还需要修改,修改后,还会报错,我们还需要来解决报错问题. 实践: 第一步: 我们需要打开C:\data\solr\collection1\conf\schema.xml 然后我们找到id的主键field 1 2  <field name="id" type="S…
问题描述: 在开发过程中,项目的主键生成器是SnowFlake,其生成的long主键是28位, 但是js中Long的最大值:https://blog.csdn.net/sunmerZeal/article/details/80844843 是26位, 所以当18位的long主键往前台传时,就导致了精度缺失,再往后传id进行更新或删除操作时,id就匹配不到位. 解决过程: 解决思路1: 首先想的是将后台主键由long类型改为String类型,组里几位小伙伴讨论后,有经验的大牛给出建议说,mysql…
获取数据库自动生成的主键 [孤立的技术是没有价值的],我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. 具体的代码实现: /** * 获取数据库自动生成的主键 */ @Test public void testGetKeyValues(){ Connection connection=null; PreparedStatement preparedStatement=null; ResultSet rs=null; try { conne…
MySQL数据操作: DML========================================================在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括: 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT查询数据以及.======================================================== 1.详细的建表语句 ***** creat…
转自:http://www.cnblogs.com/ysw-go/ 获取数据库自动生成的主键 我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. 具体的代码实现: 1 /** 2 * 获取数据库自动生成的主键 3 */ 4 @Test 5 public void testGetKeyValues(){ 6 Connection connection=null; 7 PreparedStatement preparedStatement=nu…
http://www.chinesejy.com/jishu/508/519/2006061781665.html 主子表最常见的大概就是用在进销存.MRP.ERP里面,比如一张销售订单,订单Order(ID,OrderDate),订单明细OrderDetail(OrderID, ProductID, Num,Price)这个大概就是最简单的主子表了,两个表通过ID与OrderID建立关联,这里主键ID是自增的INT类型,OrderID是表OrderDetail的外键.当然,键的选择方法很多,现…
用uuid生成20位的主键 SELECT LEFT(REPLACE(UUID(), '-', ''),20) FROM DUAL 另一种方法: 因为数据库中有字母 需要排序的时候去除字母,重新取最大值,然后加1算作新的主键 SELECT IFNULL(DEPT_ID,0)+1 FROM base_dept ORDER BY DEPT_ID+0 DESC LIMIT 0,1 或者 使用MySQL函数CAST/CONVERT: mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的…
0.目录 1.定义 1.1 什么是主键和外键 1.2 主键和外键的作用 1.3 主键.外键和索引的区别 2.主键(primary key) 2.1 通过SSMS设置主键 2.2 通过SQL语句设置主键 3.外键(foreign key) 3.1 通过SSMS设置外键 3.2 通过SQL语句设置外键 4.SQL语句向已存在表设置主键和外键 4.1 已存在表设置主键 4.2 已存在表设置外键 1.定义 1.1 什么是主键和外键 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能…
知其然,知其所以然.在看到生成UUID的代码,后带给我的百度结合自己的经验再写下来的区别 一.UUID做主键: 优点: .保证数据在表和库都是独立的,有利于后续的分库 .合并表的时候主键不会重复 .有大量数据的时候主键不会像int那样越界 .有利于处理分布式存储的数据表 缺点: .字符串型占用空间(存储和索引都占用比较大的空间) .插入和查询比int主键差 二.int主键: 优点: .存储空间占用少 .查询速度比较快 .插入和更新性能也比较好 .简单容易记住 缺点: .分表略比UUID多一步操作…
一.限制 将无类型的JavaScript编译为WebAssembly没有意义,因为它最终会导致运行其中较慢的一个JavaScript. 相反,AssemblyScript专注于WebAssembly擅长的地方,并且不支持回退到无法提前有效编译的JavaScript的动态特性: 1.强制类型 比 TypeScript 多了很多更细致的内置类型,以优化性能和内存占用,详情文档; 没有联合类型,因为所有内容都必须按设计进行静态类型化: 不能使用 any 和 undefined 类型,以及枚举类型: 可…
Spring 中的自定义事件 编写和发布自己的自定义事件有许多步骤.按照在这一章给出的说明来编写,发布和处理自定义 Spring 事件. 步骤 描述 1 创建一个名称为 SpringExample 的项目,并且在创建项目的 src 文件夹中创建一个包 com.tutorialspoint. 2 使用 Add External JARs 选项,添加所需的 Spring 库,解释见 Spring Hello World Example 章节. 3 通过扩展 ApplicationEvent,创建一个…
在使用asp.net mvc进行定义 模型类的时候,一般情况下,我们都会定义一个属性为 int iD{get;set;} 或为int ClassNameID {get;set;},在这种情况下 1.Int类型主键 EF的默认约定就是第一个属性如果是类名+id或是id(这两情况下id字母大小写没有关系),并且是int类型的,那么直接设置第一个属性为主键,同时设置自增长.不需要指定[Key]关键字(在 System.ComponentModel.DataAnnotations.Schema命名空间下…
学习作业2: 问题1:主键都有哪些方式?   问题2:本次实战案例建立的主键采用哪种方式?   问题3:猜猜金蝶K3WISE建立的主键采用哪种方式?   问题4:谈谈手工主键增长设置具体实现思路?(选答)   问题5:GUID主键是啥玩意?(选答)   ============================================= ============================================= 知识点: 1.创建主键的三种方法 方法一: CREATE TA…
今朝有幸尝芒果,发现自增长ID类型有多种,唯独没有Long/Int. 一思路:1. 自建一个Collection(表,假设名为:IdentityEntity,其中字段:_id, Key, Value,其中_id你懂的,Key:Collection名,需要用Long/Int自增长主键的Collection名,value:Key字段中所存Collection的Long/Int自增长最大值),此表用于存入要用Long/Int自增长主键的Collection信息(为方便举例:XLogs)结构自建的Col…
在数据库的学习中,对于一个表的主键和外键的认识是非常重要的. 主键:在一个表中,能唯一的表示一个事物(或者一条记录)的字段,我们称之为主键 注意: 主键的设置可以不只是用一个字段,也可以用若干个字段的组合,但主键必须是唯一的: 主键一般情况下都用整数,在这里不建议用字符转当做主键. 主键通常不允许修改,除非该表中的该条记录被删除,我们可以删除主键. 对于主键的命名问题,不建议直接用ID来命名主键,建议用表名Id  或者  表名_Id来命名主键名   不允许使用业务(表中有功能)字段来当做主键,我…
Mybatis自定义插件生成雪花ID做为主键项目 先附上项目项目GitHub地址 spring-boot-mybatis-interceptor 有关Mybatis雪花ID主键插件前面写了两篇博客作为该项目落地的铺垫. 1.Mybatis框架---Mybatis插件原理 2.java算法---静态内部类实现雪花算法 该插件项目可以直接运用于实际开发中,作为分布式数据库表主键ID使用. 一.项目概述 1.项目背景 在生成表主键ID时,我们可以考虑主键自增 或者 UUID,但它们都有很明显的缺点 主…
转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这个日志 假设我们如下一个日志文件,这个文件的内容是来自某个电信运营商的手机上网日志,文件的内容已经经过了优化,格式比较规整,便于学习研究. 该文件的内容如下(这里我只截取了三行): 1363157993044 18211575961 94-71-AC-CD-E6-18:CMCC-EASY 120.1…
上一篇,讲到了SolrNet的基本用法及CURD,这个算是SolrNet 的入门知识介绍吧,昨天写完之后,有朋友评论说,这些感觉都被写烂了.没错,这些基本的用法,在网上百度,资料肯定一大堆,有一些写的肯定比我的好,不过,这个是Solr系列文章,会从Solr的基础入门讲到实际开发中的分页,高亮,Facet查询等高级用法.所以,基础的入门也会涉及一些,望大家见谅.我用这么多篇文章,来总结Solr 也是为了将Solr 的 安装,配置,开发等等,整个过程的资料,都能总结汇集到一起,这样不管是懂Solr还…
Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似的内容 配置:在solrconfig.xml中配置如下 <searchComponent name="spellcheck" class="solr.SpellCheckComponent"> <lst name="spellchecker&…
一.概述 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字.分类.价格搜索商品信息,也可以根据价格进行排序. 1.1 实现方法 在一些大型门户网站.电子商务网站等都需要站内搜索功能,使用传统的数据库查询方式实现搜索无法满足一些高级的搜索需求,比如:搜索速度要快.搜索结果按相关度排序.搜索内容格式不固定等,这里就需要使用全文检索技术实现搜索功能. 使用Lucene实现:单独使用Lucene实现站内搜索需要开发的工作量较大,主要表现在:索引维护.索引性能优化.搜索性能优化等,因此不建议采用…
搜索中心新建好之后在搜索结果页上会默认有所有内容,人员,对话,视频这四个结果分类,每个分类会返回指定范围的搜索结果,这里我再添加了部门日志结果分类,搜索这个分类只会返回部门日志内容类型的搜索结果,要实现这个效果,步骤如下: 第一步,进入管理中心,进入管理应用程序,点击Search Service 应用程序,进入搜索管理页,再点击结果源如图: 第二步,新建结果源,填写名称,协议填写本地sharepoint,凭据信息选择默认, 第三步,点击启动查询生成器,生成查询语句,最后点保存,接着继续点新建内容…
全文检索技术——Solr 1 主要内容 1.站内搜索技术选型 2.什么是solr Solr和lucene的区别 3.solr服务器的安装及配置 Solr整合tomcat Solr的演示 4.维护索引 创建索引 删除索引 更新索引 5.索引的查询 6.Solr的客户端SolrJ 维护索引 查询索引 2 站内搜索技术选型 1.使用Lucene来实现:需要大量的编码才能实现.集群方案需要自己解决.查询速度的优化都需要自己解决.不推荐使用. 2.使用搜素引擎提供的接口实现站内搜索.索引库在搜索引擎上,维…
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习是最好的办法.J   Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码.MyBatis 就是针对 SQL 构建的,…
一.变量 ''' 1.视图函数可以通过两种方式将变量传递给模板页面 -- render(request, 'test_page.html', {'变量key1': '变量值1', ..., '变量keyn': '变量值n'}) -- render(request, 'test_page.html', locals()) # locals() 就是将视图函数中的所有变量都传递给模板页面 2.模板页面中对变量的使用 def dtl(request): num = 3.14 ss = '大碗宽面' #…
今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中的数据类型分为:基本类型和引用类型 * B: 引用类型的分类 * a: Java为我们提供好的类,比如说:Scanner,Random等. * b: 我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用. ###02自定义类的概述 * A: 自定义类的概述 * java代码…
该文使用  Centos6.5 64 位    solr4.10.3   IK-Analyzer中文分析器 一.solr域 在solr中域的概念与lucene中域的概念相同,数据库的一条记录或者一个文件的信息就是一个document,数据库记录的字段或者文件的某个属性就是一个Field域,solr中对索引的检索也是对Field的操作.lucene中对域的操作是通过代码,solr对域的管理是通过一个配置文件schema.xml. solr中域的类型是schema.xml中<fieldType>元…
一 基本说明 简单来说Solr是基于Lucene的高性能的,开源的Java企业搜索服务器.Solr可以看作一个Web app,运行在tomcat或Jetty这类HTTP服务器上, 底层是一个基于Lucene的搜索引擎,还附加一个Solr的基本管理界面.Solr提供HTTP服务,通过Get方法进行查询,通过Post方法进行索引的添加/删除管理. 一般来说Solr的查询时通过Get方法请求到HTTP服务器的solr这个app下的/select对应的servlet上去,而添加等操作时通过POST方法到…
上一篇的配置说明主要是说明solrconfig.xml配置中的查询部分配置,在solr的功能中另外一个重要的功能是建索引,这是提供快速查询的核心. 按照Solr学习之一所述关于搜索引擎的原理中说明了建立索引,其实就需要经过分词组件处理,语言组件处理最后建立成一个倒排索引表, 通过这个索引表,来进行查询,本篇就是说明solr如何建立索引的也即是solrconfig.xml中关于更新索引的部分,另外由于建立索引需要涉及到 schemal.xml相关内容定义,这里面也一起说明. 一.设计schema…
在这个结构化数据和非结构化数据的数量都很庞大的年代,经常需要从数据库.XML/HTML 文件或其他数据源导入数据,并使数据可搜索.过去,要编写自定义代码才能创建到数据库.文件系统或 RSS 提要的自定义连接.但现在,Solr 的 DataImportHandler(DIH)填补了这个空白,它使您能够从数据库(通过 JDBC).RSS 提要.Web 页面和文件中导入数据.DIH 位于 apache-1.3.0/contrib/dataimporthandler 中,是 apache-1.3.0/d…
From: http://www.manongjc.com/article/15577.html 这篇文章主要介绍了MyBatis使用自定义TypeHandler转换类型的实现方法,本文介绍使用TypeHandler 实现日期类型的转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下   MyBatis虽然有很好的SQL执行性能,但毕竟不是完整的ORM框架,不同的数据库之间SQL执行还是有差异. 笔者最近在升级 Oracle 驱动至 ojdbc 7 ,就发现了处理DATE类型存在问题.还好My…