`
文章列表
最近看《分布式JAVA应用 基础与实践》 里面有一段话 林昊 写道 ArrayBlockingQueue为一个固定大小数组、ReentrantLock以及Condition实现的可阻塞的先进先出的Queue。 除ArrayBlockingQueue之外,BlockingQueue的实现还有LinkedBlockingQueue,LinkedBlockingQueue实现的不同为采用对象的next构成链表的方式存储对象。由于读只操作对头,而写只操作队尾,这里巧妙地采用了两把锁,对于put和offer采用一把锁,对于take和poll则采用另外一把锁,避免了读写时互相竞争锁的情况,因此Linke ...

solr同义词的配置

    博客分类:
  • solr
格式编码为UTF-8 注:如下是基于solr-5.3.1进行的配置 schema.xml配置和同义词词库的配置 中文,这里采用mmseg4j作为分词器,同义词一般只要进行查询的配置就可以了,同义词的配置一般位于分词器的后面 下面是中文的同义词和分词的配置      <fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100">                 <analyzer type="ind ...

solr sharding策略

    博客分类:
  • solr
solr中含有两种sharding策略,一种是默认的compositeId(一致性hash),一般在指定numShards参数时,会自动切换到router="compositeId",如果采用compositeId方式,那么就不能动态增加shard。如果采用的是implicit方式,就可以动态的增加shard。 compositeId:该路由为一致性哈希路由,shards的哈希范围从80000000~7fffffff。初始创建collection是必须指定numShards,compositeId路由算法根据numShards的个数,计算出每个shard的哈希范围,在upda ...

solr的原子更新

    博客分类:
  • solr
solr的更新,目前网上基本流传了两个版本,一个是通过solrj来实现的,一个是通过自己写HttpClient来写的。 solrj来进行原子更新 主要分为如下几种: set add remove removeregex inc set设置或者替换掉指定的值,如果是null,或者是个空的集合,将会删除掉原来的值 add对于指定的字段增加一个值 remove删除掉指定字段的值 removeregex从多值字段中删除掉符合规则的值 inc以指定的值进行增加 第一个字段是索引非存储的字段,下面的几个都是既是索引字段又是存储字段, 进过测试,对于我当前的版本5.3.1是不存在网上说的那个问题(那个 ...
solr中默认获取的是Timezone是UTC或者GMT时间(这两个时区是一致的),但是通常我们数据库中的时区,是取的当前的本地的时区,所以就要通过指定时区,这个可以在启动时,通过-Duser.timezone来指定,一般是通过GMT+08,来指定 bin/solr start -Duser.timezone=GMT+08 -c -z 192.168.36.84:2181/solr -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=3000 -Dcom.sun.management.jmxremote.ssl=f ...
安装jmxtrans: wget https://github.com/downloads/jmxtrans/jmxtrans/jmxtrans-20121016.145842.6a28c97fbb-0.noarch.rpm rpm -ivh jmxtrans-20121016.145842.6a28c97fbb-0.noarch.rpm 添加配置: vim /var/lib/jmxtrans/solr.json {   "servers" : [   {     "host" : "192.168.36.84",     " ...
实验环境 1、下载jmxtrans 1 下载地址:https://github.com/jmxtrans/jmxtrans/downloads 2、安装jmxtrans 1 2 3 4 5 6 #判断是否已安装此软件 #rpm -qa |grep jmx #卸载软件 #rpm -e jmxXXXXXX #安装jmxtrans rpm -ivh 说明:     jmxtrans安装目录:/usr/share/jmxtrans     jmxtrans配置文件 :/etc/sysconfig/jmxtrans     json文件默认目录:/var/lib/jmxtrans/ 3、配置开机启动 ...
给自己定个计划:目前在做搜索方面的项目,但是目前市面很少有关于solr的中文书籍,打算为开源做点贡献,翻译solr in action
package qeeka.test.qeeka.test; import java.security.InvalidKeyException; import java.security.Key; import java.security.NoSuchAlgorithmException; import javax.crypto.KeyGenerator; import javax.crypto.Mac; import javax.crypto.SecretKey; import javax.crypto.spec.SecretKeySpec; /**  * Hmac< ...
package qeeka.test.qeeka.test;   import java.security.InvalidAlgorithmParameterException;   import java.security.InvalidKeyException;   import java.security.NoSuchAlgorithmException;   import java.security.SecureRandom;   import java.security.spec.AlgorithmParameterSpec;      import javax.cr ...

RSA算法

package qeeka.test.qeeka.test;import java.io.DataInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import ...
这天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 attr(‘checked’,'checked’);与attr(‘checked’,true); 都不好使,要么第一次成功了,第二次调用就没反应,完全不起作用了。那到底是什么原因呢? 害得‘跑客教授’到处到网上搜 jQuery checkbox的操作,动态选择的相关文章,都写着是这样的实现代码
本人现在安装的是Windows 7+Ubuntu 10.10 双系统。今天想在自己的烂PC上装Mac,于是分了两个区,并且都没格式化。用leopard硬盘安装工具把dmg镜像加载到新分区后(现在应该被格式化成HFS+分区了),又安装了MacDrive,然后重启系统。 ...
这几天由于项目需要,也许也是为了项目的更可控,老大让研究一下jenkins,于是我屁颠屁颠的就干了起来,哈哈,总是有点事情可做,毕竟刚来不久嘛,而且这次还让我顺利融入到了项目组(自我觉得),毕竟研究新的东西, ...
  # mysql -uroot -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)使用网上介绍的方法修改root用户的密码:# mysqladmin -uroot -p password 'newpassword'Enter password:mysqladmin: connect to server at 'localhost' failederror: 'Access denied for user 'root'@'localhost ...
Global site tag (gtag.js) - Google Analytics