Linux--SSH 查看应用日志中文乱码解决办法
一 : vi /etc/sysconfig/i18n 添加LANG="zh_CN.GB18030"LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"SYSFONT="lat0-sun16"二:重启应用...
Spring--SpringMVC3.1的ResponseBody返回字符串乱码问题解决
SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码。 原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了...
Lucene源码解析--索引段的合并(merge)
IndexWriter 中与段合并有关的成员变量有://保存正在合并的段,以防止合并期间再次选中被合并。private HashSet<SegmentInfoPerCommit> mergingSegments = new HashSet<SegmentInfoPerCommit>();//合并策略,也即选...
Lucene源码解析--索引创建过程
文档的索引过程是通过DocumentsWriter的内部数据处理链完成的,DocumentsWriter可以实现同时添加多个文档并将它们写入一个临时的segment中,完成后再由IndexWriter和SegmentMerger合并到统一的segment中去。Document...
Lucene源码解析--Analyzer类IndexingChain介绍<一>
文档的索引过程是通过DocumentsWriter的内部数据处理链完成的,下面通过代码跟踪的方法来介绍一下索引链的创建过程。一:下面一段代码是创建索引的一个简单样例,其中红色标识部分将是我们要跟踪的。<style.v\:* {b...
Java基础--jvm内存结构
内存的动态分配和垃圾回收技术对于Java与C++技术人员来说,就像一座围城,内部的人想出来,外部的人想进去。对于Java程序员来说,JVM的自动内存管理机制为他们解决了很多的问题和繁琐的工作。但一旦出现...
Lucene源码解析--删除文档文件(.del)
如果segment中有被删除的document,则这些信息会被存储在.del文件当中。.del文件的结构:Format:在此文件中,Bits 和DGaps 只能保存其中一,-1 表示保存DGaps,非负值表示保存Bits。ByteCount:此段中有多少文档,...
Lucene源码解析--标准化因子文件(.nrm)
我们知道,在搜索过程中,搜索出的文档要按与查询语句的相关性排序,相关性大的打分(score)高,从而排在前面。相关性打分(score)使用向量空间模型(Vector Space Model),在计算相关性之前,要计算Term Weight,也即...
Lucene源码解析--Term Dictionary和Term Index
反向信息是索引文件的核心,也即反向索引。反向索引包括两部分,左面是词典(Term Dictionary),右面是倒排表(Posting List)一:Lucene41PostingsFormat:倒排表格式,通过packed integer blocks来编码倒排表。注意:...
Lucene源码解析--Term Vector词向量文件
词向量(Term Vector)对一个域来说是一个可选择的基础组成项。词向量信息是从索引(index)到文档(document)到域(field)到词(term)的正向信息,有了词向量信息,我们就可以得到一篇文档包含那些词的信息。它有三个文件...
Lucene源码解析--Compound File 组合文件
CompoundFileDirectory:属于同一个段的所有文件具有相同的文件名和不同的后缀名,不同的后缀名是因为Codec采用了不同的文件格式(file formats). 当使用组合文件的时候,所有的段文件会合并到一个.cfs后缀的文件内(...
Lucene源码解析--Lock文件
写锁(write lock)文件名为“write.lock”,它缺省存储在索引目录中。如果锁目录(lock directory)与索引目录不一致,写锁将被命名为“XXXX-write.lock”,其中“XXXX”是一个唯一的前缀(unique prefix),来源于...
Lucene源码解析--Field data和Field index
一:Lucene41StoredFieldsFormat:域存储文件格式。会生成两个文件,一个是.fdt文件是域的数据文件,另外一个是.fdx文件是域的索引文件。数据文件结构:二:CompressingStoredFieldsIndexWriter:该类能够生成一个文...
Lucene源码解析--FieldInfo相关类
在索引的文件结构中.fnm文件中存储着有关field的相关信息,这些信息包括Header,FieldName,FieldBits, DocValuesBits,FieldNumber 和Attributes 。具体的读写存储信息则是通过Lucene42FieldInfosFormat类实现...
Lucene源码解析--Field类
Field类:文档中的一个域,在事实上控制着被索引的域值。其组成部分包括type(域的类型),name(域的名称),fieldsData(域的值),boost(加强因子).一:域的类型FieldType:描述Field的相关属性。1.private boolean...
Lucene源码解析--IndexWriterConfig配置参数说明
创建IndexWriter实例时,通过IndexWriterConfig来设置其相关配置:1.Analyzer:分析器2.matchVersion:所用Lucene的版本3.ramBufferSizeMB:随机内存 默认为16M.用于控制buffer索引文档的内存上限,如果buffer的索引...
Lucene源码解析--索引结构
索引是一系列document的集合,document是一系列field的集合,filed是一系列term的集合,term是一系列bytes的集合,同一个bytes序列,在不同的field中被认为是不同的term;因此term由一对值组成:field name(strin...
Lucene源码解析--lucene原理及索引和检索的过程
Lucene是一个高效的,基于Java的全文检索库。全文检索的基本思路,也即将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部...
Lucene源码解析--Analyzer之TokenFilter
Analyzer包含两个核心组件,Tokenizer以及TokenFilter。两者的区别在于,前者在字符级别处理流,而后者则在词语级别处理流。Tokenizer是Analyzer的第一步,其构造函数接收一个Reader作为参数,而TokenFilter则是一个...
Lucene源码解析--Analyzer之Tokenizer
Analyzer包含两个核心组件,Tokenizer以及TokenFilter。两者的区别在于,前者在字符级别处理流,而后者则在词语级别处理流。Tokenizer是Analyzer的第一步,其构造函数接收一个Reader作为参数,而TokenFilter则是一个...