- 浏览: 106220 次
- 性别:
- 来自: 上海
最新评论
文章列表
最近看《分布式JAVA应用 基础与实践》 里面有一段话
林昊 写道
ArrayBlockingQueue为一个固定大小数组、ReentrantLock以及Condition实现的可阻塞的先进先出的Queue。
除ArrayBlockingQueue之外,BlockingQueue的实现还有LinkedBlockingQueue,LinkedBlockingQueue实现的不同为采用对象的next构成链表的方式存储对象。由于读只操作对头,而写只操作队尾,这里巧妙地采用了两把锁,对于put和offer采用一把锁,对于take和poll则采用另外一把锁,避免了读写时互相竞争锁的情况,因此Linke ...
格式编码为UTF-8
注:如下是基于solr-5.3.1进行的配置
schema.xml配置和同义词词库的配置
中文,这里采用mmseg4j作为分词器,同义词一般只要进行查询的配置就可以了,同义词的配置一般位于分词器的后面
下面是中文的同义词和分词的配置
<fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100">
<analyzer type="ind ...
solr中含有两种sharding策略,一种是默认的compositeId(一致性hash),一般在指定numShards参数时,会自动切换到router="compositeId",如果采用compositeId方式,那么就不能动态增加shard。如果采用的是implicit方式,就可以动态的增加shard。
compositeId:该路由为一致性哈希路由,shards的哈希范围从80000000~7fffffff。初始创建collection是必须指定numShards,compositeId路由算法根据numShards的个数,计算出每个shard的哈希范围,在upda ...
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 ...
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的操作,动态选择的相关文章,都写着是这样的实现代码
【转】grub rescue救援模式的处理
- 博客分类:
- win7
本人现在安装的是Windows 7+Ubuntu 10.10 双系统。今天想在自己的烂PC上装Mac,于是分了两个区,并且都没格式化。用leopard硬盘安装工具把dmg镜像加载到新分区后(现在应该被格式化成HFS+分区了),又安装了MacDrive,然后重启系统。
...
jenkins搭建和部署
- 博客分类:
- jenkins
这几天由于项目需要,也许也是为了项目的更可控,老大让研究一下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 ...