全文索引服务solr入门三之solrJ的应用

2016年6月26日 没有评论

三. 使用solrJ和spring集成

上一篇上上一篇文章中我们先搭建了一个solr服务器和学习了solr服务器后台的使用,这一次我们将直接进入实战:和spring集成,在继承之前我们先看看所需要的solr的jar文件都是那些(spring的那些大家就自己玩吧,我相信都知道的)

1. 所需的jar文件

直接上图片,就是图上的这些图片,当然大家可以自己找maven依赖(jar文件这个最简单了,没有的话一定会报classnotfoundException,加上就好了)

solrJ1
solrJ2

2. spring的配置


<?xml version="1.0" encodin[......]

Read more

分类: 全文索引 标签: , , ,

全文索引服务solr入门二之认识管理后台

2016年6月11日 没有评论

二. 认识solr管理后台

上一篇文章中我们搭建起来的其实就是一个solr管理后台,这节课我们就是来简单认识他,具体的操作当然由大家自己试验了。下面我们先直接选择左侧的默认collection1你会看到下面出来很多东西,其中有几个比较重要:Analyzer、Documents、Query,下面我们认识第一个:Analyzer。

1. 认识Analyzer

查看当前索引库中的字段列表,及分词效果。

analyzer

①. 域、字段列表:所有的域都是定义在schema.xml配置文件中。在solr中域必须是先定义后使用。
如果想修改域的定义及自定义域需要修改schema.xml。
②. 查看域的分词效果[……]

Read more

分类: 全文索引 标签: ,

全文索引服务solr入门一之单机版服务器搭建

2016年5月29日 没有评论

一直对全文索引很感兴趣,但由于工作上一直没用到,所以就没有上心去看,有一次闲着无聊,偶然发现传智播客的公开课上有一节讲这个的,听了一下还不错,于是整理成笔记,供老夫和其他朋友需要的时候参考。
老夫相信看这篇文章的人对solr一定有所了解,不了解的请用Google百度一下,所以虽然是一个系列,但这里老夫只会讲怎么用,争取让看了这个系列文章的人能里面先跑起来,好了,下面直接切入主题。

一. solr的安装与配置

1. solr的运行环境

① . 需要安装jdk,要求jdk的版本为1.7.0以上版本。
② . Tomcat要求7以上版本。
③ . 操作系统:linux、windows都可以。[……]

Read more

分类: 全文索引 标签: ,

DFA算法应用之敏感词过滤

2016年5月2日 没有评论

公司在做一个社区应用,由于我朝特色,众所周知社区应用有一个很重要的就是要进行敏感词的过滤,这块由一个同事负责,听他说,有一个算法叫DFA,可以做这个,个人比较感兴趣,就到网上查了一些资料,有一篇文章写的特别好,老夫的这篇文章就是把其核心的部分(就是怎么应用,老夫一直有一个观点,理论弱于实践,理论懂得再多不会用一点用没有,所以老夫认为应用是核心)摘出来,留作笔记,如果有想了解其原理的,请点击下方的参考资料,好了,既然是应用那么就直接上代码了:


package cn.bridgeli.dfa;

import java.util.HashSet;
import java.util.Itera[......]

Read more

分类: Java 标签: , ,

记一次线上操作bug

2016年4月24日 没有评论

身为程序猿,可以说天天都会遇到bug,今天没为什么记下这次bug呢?说来惭愧,因为这次bug是由于自己不仔细没有仔细检查没有测试就对线上数据下手造成的,一方面是记下这个bug的由来,修复方法和犯下的失误的地方,另一方面也是留下记录警示自己操作线上数据一定要小心再小心,还有就是不要对自己过于自信,测试很重要。
先说一下bug的缘由,19号晚上我们上线了一个新功能,有一个功能模块是另外一个同事负责的,所以对其实现不是很了解,但数据导入有老夫负责,所以数据导入的时候,有一个结束时间没有考虑清楚,只有日期没有时间(产品经理和另一位同事当时也没有给我说),所以数据库里面结束时间变成了默认的“00:00:[……]

Read more

分类: Java 标签:

Spring和websocket整合应用示例(下)

2016年4月4日 没有评论

上篇中,我们已经实现了websocket,但还有一个核心的业务实现类没有实现,这里我们就实现这个业务核心类,因为老夫参与的这个系统使用websocket发送消息,所以其实现就是如何发送消息了。

7. NewsListenerImpl的实现


package cn.bridgeli.websocket;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import cn.bridgeli.DateUtil;
import cn.bridgeli.enumeration.PlatNewsCategoryTy[......]

Read more

分类: Java 标签:

Spring和websocket整合应用示例(上)

2016年4月4日 没有评论

嗯,这次真的仅仅是一个入门教程,因为老夫表示自己也不会。近期老夫参与开发公司的一个CRM系统,系统中有很多消息的推送,由一个同事负责,其用到了websocket技术,老夫比较感兴趣,删繁就简,整理了一个教程,留作自己笔记,因很多原理老夫也是不甚了了,以备将来用到了有资料可查。

1. maven依赖


<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>[......]

Read more

分类: Java 标签:

MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 2 无效

2016年3月20日 3 条评论

今天这篇文章比较简单,写一个老夫近期工作中遇到的一个问题,这个问题困扰了老夫几个月了,虽然借助强大的Google百度了好久,但一直没有彻底解决,一直感觉挺简单一问题,也挺常见的一问题(网上问这个问题的还挺多),怎么就没有一个靠谱点的解决方案呢,刚好上个周呢时间稍有空闲,于是仔细研究了一下,终于找到了问题的根源,然后同事一言点醒梦中人,豁然开朗,一举解决,所以记录一下,先说一下异常:MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 2 无效,详细的堆栈信息如下:


严重: StandardWrapper.Throwable
org.sprin[......]

Read more

POI解析Excel示例

2016年3月13日 没有评论

在Java的世界里,对于解析Excel,目前市场上有两个不错的框架,一个是jxl另一个是poi,之前老夫曾对jxl可以说是倍加赞赏(当时老夫还为了它而写了一篇文章,详见这里),因为一直认为它虽然有bug,虽然兼容性不好,但是它简单易用啊,只要自己够仔细认真就能避开这些坑,但是从这周起,老夫决定jxl一生黑,因为随着时间的推移,现在Excel的版本越来越新,而jxl只支持2003之前的版本,可以说解析起来异常麻烦,而poi有Apache做保证,表现越来越好,使用起来其实也不是很复杂,所以老夫决定之后再次遇到解析Excel的只用poi。
下面是老夫写的一个解析Excel的一个工具类,希望对大家有所[……]

Read more

分类: Java 标签: , ,

Junit Test之Easy Mock Test入门

2016年2月29日 没有评论

这一段时间公司的项目进行分模块分层进行专人维护开发,所以就会有不同的service和dao有不同的人来开发,这里我们假设service和dao不同的人开发,service是依赖dao的,如果我们的dao开发人员比较忙并没有把dao模块开发好,service如果要对自己的模块进行测试该怎么做呢?这个时候我们的Easy Mock Test就可以派上用场了。
首先开发service的和dao的会讨论商量出来一套接口,假设dao的接口如下:


package cn.bridgeli.dao;

import cn.bridgeli.model.User;

public interface Use[......]

Read more

分类: Java 标签: ,