![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
叫我小宫
平常心
展开
-
记录lucene使用问题
1.问题线上根据商品名称查询商品报错,使用如下代码错误复现: public static void main(String[] args) throws ParseException { QueryParser parser = new QueryParser("tag", new IKAnalyzer(true,false)); Query query...原创 2020-03-31 18:09:48 · 258 阅读 · 2 评论 -
IK中文分词器源码分析(2012FF_u1)
1.中文分词概要1.1什么是中文分词?中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。1.2分词方法的分类?现有的分词方法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。1.2.1基于字符串匹配的分词方法基于字符串匹配的分词方法又称机械...原创 2019-05-16 15:19:34 · 661 阅读 · 0 评论 -
BytesRef源码阅读(Lucene8.0)
1.概述在Lucene中,有很多地方都会用的基本类型数组,如ByteBlockPool中的二维数byte数组buffers,其中的每一个元素buffer(block)就是一个一维的byte[]。如果我们需要获得block中的某一区间(一般是连续的),则需要数组的拷贝,效率十分低,要在索引过程中需要频繁的读取。BytesRef的出现极大缓解这一问题,它内部可以持有某一个block的引用,通过off...原创 2019-08-28 12:03:21 · 628 阅读 · 0 评论 -
ByteBlockPool源码阅读(Lucene8.0)
1. 概述原创 2019-09-05 11:40:37 · 456 阅读 · 0 评论 -
FSLockFactory(lucene8.0的文件锁相关)
1.概述lucene作为一个开源的搜索框架,为我们提供了一个非常好的了解全文检索的窗口。在生产中,多使用基于lucene的solr和ElasticSearch两个分布式搜索框架,原因必然与其不支持分布式和官方并未提供相关的使用文档相关,所以我们可以认将lucene 视为一个搜索框架的内核。本人在此之前,在前辈指导下尝试用lucene实现过几个简单的商品搜索接口,出于好奇尝试阅读源码,现在luce...原创 2019-09-05 11:43:03 · 428 阅读 · 0 评论 -
lucene源码导入IDEA
最近开始阅读Lucene源码,但其是用ant构建的,需要转成idea项目。步骤如下:下载lucene-solr源码下载ant,配置好环境变量进入命令行,切换至项目文件夹ant ivy-bootstrap 下载ivyant idea/eclipse这里下载的是lucene-solr源码包,单独的lucene不支持ant idea|eclipse...原创 2019-09-06 12:34:49 · 1821 阅读 · 2 评论 -
IntBlockPool问题记录(Lucene8.0)
1.概述IntBlockPool与ByteBlockPool结构基本一致,只不过数组元素由byte变为int。(size4倍关系)。主要异同如下:buffer内存占用大小一样,因此size为4倍关系。IntBlockPool的slice链表结束符从1开始,ByteBlockPool从16开始。二维数组扩容策略不同,ByteBlockPool扩容策略较复杂,IntBlockPool扩容策略...原创 2019-09-16 13:25:19 · 202 阅读 · 0 评论