Lucene 深入学习(1)全文检索

前言: Lucene 是一个高性能、可伸缩的全文检索工具包。在学习Lucene之前,应该先了解一些全文检索的基本知识。 全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立索引,指明该词在文章中出现的次数和位置,当用户查询时,检索系统根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。 信息检索(IR)与全文检索信息检索大约可以分为下面几类: 全文检索:把用户的查询请...
阅读(27) 评论(0)

从CSDN到GitChat

一个偶然的机会,接触到了GitChat,他们希望我能自拟主题写自己熟悉的话题,会有一定的报酬,我答应了,毕竟写了好多年博客,第一次有人说可以给钱。 然后就开始了为期半个月的准备,包括话题的准备与文章的撰写。今天终于完成了整个Chat,确实需要准备很多材料。 因为读者是付费阅读的,不得不对用户负责。确实压力大,不能像在CSDN上随时写文,任意发挥,还要限制字数,考虑文章质量。 Chat对作者的要...
阅读(41) 评论(0)

Solr 热更新,不重启修改配置文件

单机部署如果Solr是部署在Jetty等WEB容器中的话,需要容器本身支持,大部分情况下,支持是不好的。SolrCould部署在对schema.xml进行修改后,要想使schema.xml生效,需要重启SolrCould集群,然后加载配置文件。无法做到热更新。zookeeper配置solr更新schema.xml后,重新把配置文件注入到zookeeper。可以使用下面的脚本:./zkcli.sh -...
阅读(108) 评论(0)

Solr 中的commit与optimize

摘要: 在Solr中,频繁的提交操作commit与优化操作optimize,会影响Solr的搜索效果。commit提交到Solr的添加、更新、删除操作只有在commit()方法被调用以后才生效。一般来说,不建议每次这样的操作都之后都直接调用commit()。添加的数据没有commit()不能被搜索到。建议每天调用几次commit()可。optimizeoptimize()是为了提高搜索效率,调用该方...
阅读(53) 评论(0)

MapStruct处理Java实体的高级进阶使用

摘要: MapStruct有很多的配置选项,除了使用target和source外,还有一些注解选项可以实现更高级的功能。defaultValue有时候,在转换过程中,可能因为空值或其他原因使得映射结果不正确,此时可以指定一个默认值,防止程序出错。@Mappings( { @Mapping(target = "age", source = "evage", defaultValue...
阅读(222) 评论(0)

MapStruct处理Java中枚举Enum类型使用与举例

摘要: MapStruct更擅长的是处理特殊情形下的java bean间转换,如Java中的枚举Enum类型转换。在学习了MapStruct简单使用方法之后,可以探索更复杂的业务情形。常规枚举Enum转换实体模型有一个User对象,其属性等级(grade)是一个枚举类型:public class User { public enum Grade{ AVERAGE,BRONZE,...
阅读(197) 评论(0)

MapStruct处理Java中实体与模型间不匹配属性转换

摘要: 前面介绍了MapStrut简单用法,MapStrut的最重要的特点就是处理Java中实体与模型间不匹配属性的转换。实体模型有一个User对象:public class User { private Integer id; private String name; private double account; private boolean married;...
阅读(177) 评论(0)

MapStruct实体间转换

摘要: 在实际项目中,我们经常需要将PO转DTO、DTO转PO等一些实体间的转换。比较出名的有BeanUtil 和ModelMapper等,它们使用简单,但是在稍显复杂的业务场景下力不从心。MapStruct这个插件可以用来处理domin实体类与model类的属性映射,可配置性强。建立Maven项目MapStruct需要醒目构建工具(如Maven)支持,如果项目结构不标准,可能无法生成对应的转换类。...
阅读(101) 评论(0)

Solr查询空值字段

摘要: Solr的查询一般都是查找满足某个关键词的文档,偶然一个需求是查询Solr中某个字段不为空的数据。查询空值数据字符串类型可以通过下面这种查询方式找到所有描述description为空的数据。-description:* OR description:""整数类型可以通过下面这种查询方式找到所有页码page为空的数据。 -page:* OR page:0非空字段可以通过下面这种查询方式找到i...
阅读(634) 评论(0)

Solr安全管理

摘要: 在搭建好Solr以后,我们可以通过Solr Admin Page管理页面简单的使用Solr,当然不希望这样的页面对外公开访问。可以通过认证的方式加密Solr admin page。Solr admin page不安全在Solr的管理页面可以做很多操作,不限于常用的查询命令,你还可以通过在Query页面更改Request-Handler来更新甚至删除数据。需要认证的HTTP请求我使用的测试环境...
阅读(250) 评论(0)

Solr的Filed中indexed与stored属性

摘要: Solr的Filed中有很多参数,其中的index和store参数让人有点犯晕。消失的Field上面的这个Field的index和store属性都设置为false。如果你插入一片含有该field的doc到Solr,...
阅读(596) 评论(0)

Solr 运维管理监控

摘要: 有时候需要对Solr状态进行监控,但是Solr自身不支持这种功能。需要借助一个工具Cloudera Manager。cloudera manager四大功能(1)管理:对集群进行管理,如添加、删除节点等操作。(2)监控:监控集群的健康情况,对设置的各种指标和系统运行情况进行全面监控。(3)诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案。(4)集成:对hadoop的多组件进行整合...
阅读(386) 评论(0)

Java8 新特性 函数式接口

摘要: Java8在使用Lambda时,需要函数式接口的声明。如果每次使用Lambda表达式都自己编写函数式接口,那就违背了Lambda表达式设计的初衷——更加简洁的书写代码,也不利于新特性的推广,于是JDK的设计人员内置了四大核心函数式接口。 消费型接口Consumer 供给型接口Supplier 函数型接口Function #...
阅读(285) 评论(0)

Java8 新特性Lambda表达式

摘要: Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替 功能接口。关于名称lambda表达式所使用的运算符是 - > , 通过下面这个图形演变,你可以知道它为什么叫这个名字。实际上,lambda来源于λ演算。 为何出现Lambda是一个匿名函数,我们可以把Lambda表达式理解为一段可以传递的代码。在java8以前,很多语言都支持lambda表达...
阅读(466) 评论(0)

Java8 新特性概述(60%)

摘要: Java8在2014年已经发布,现在已经逐渐被广大开发者所认同,越来越多的框架选用,越来越多的公司选择Java8,经过一段时间的学习,发现Java的一些改动值得学习。特性简介 速度更快 Java8优化了垃圾回收机制,对底层的内存结构进行了升级,永久区被移除,用元空间代替(直接使用物理内存,而不是分配内存,OOM异常减少),MaxPremGenSize使用MaxMetaspaceSize。J...
阅读(265) 评论(0)
104条 共7页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:157235次
    • 积分:2492
    • 等级:
    • 排名:第15488名
    • 原创:90篇
    • 转载:0篇
    • 译文:14篇
    • 评论:46条
    博客专栏
    文章分类
    最新评论