- 【Lucene&Solr】Solr实现全文检索
景谦Nice
Lucene&Solr
一、Solr是什么Solr是Apache下的一个顶级开源项目,采用Java开发,可以独立运行在Jetty、Tomcat等这些Servlet容器中,它是基于Lucene的全文搜索服务器。Lucene与Solr的区别如下:Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,但提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实
- 【Lucene&Solr】Lucene实现全文检索
景谦Nice
Lucene&Solr
一、全文检索对于结构化数据如MySQL表中的数据可以用SQL语句来查询,而对于非结构化数据如磁盘上的文件、网站的资源等就需要用到顺序扫描法或全文检索法。但是顺序扫描法效率非常低,此时就需要全文检索法。全文检索法是将非结构化数据中的一部分信息提取出来进行组织使其变得有结构,提取的这部分信息称其为索引,根据索引快速定位到要查找的信息。字典的拼音表和部首检字表就相当于字典的索引。实现全文检索可以使用Lu
- Lucene&solr 笔记
张今天
——Lucene
文章目录1.数据分类2.如何实现全文检索3.索引和搜索流程4.配置开发环境4.索引库的维护5.索引库的查询6solr的介绍7.solr7.7.2的安装与tomcat的配置8.solr中的schema.xml9.solr中的中文分词器ik-analyzer的配置10.solr的后台管理页面的操作11.solr的后台数据导入12.solrJ的增、删、改、查FAQ1.数据分类结构化数据指具体固定格式或有
- lucene&solr从入门到精通-----创建索引,写到索引库
发疯的man
lucenemaven
maven配置org.apache.lucenelucene-core4.2.0org.apache.lucenelucene-analyzers-common4.2.0commons-iocommons-io2.4创建索引大体思路:第一,需要创建一个流,这个流需要指定索引仓库(Directory),然后还需要一个配置对象(IndexWriterConfig),这个配置对象需要一个语法解析器(An
- Lucene&Solr学习笔记之二
聽見下雨的_聲音
2.配置开发环境2.1Lucene下载http://lucene.apache.org版本:7.7.1IDE:eclipse2.2创建工程新建名为lucene的项目导入jar包:必须jar包:commons-io-2.6.jarlucene-analyzers-common-7.7.1.jarlucene-core-7.7.1.jarlucene-memory-7.7.1.jar可选jar包:IK
- lucene&solr全文检索_8schema.xml文档的分析
printf();
在collection1的配置文件下如图:其中有两个配置文件需要关注,、schema.xml:在solrcore的conf目录下,是solr数据表配置文件,它定义了加入索引的数据的数据类型,主要包括fieldtypes、fields和其他的一些缺省设置.打开shema文件发现,在里面你可以设置域,分别为域名类型是否索引是否存储相当于lucene的代码用了个一个标签代替,非常的简便。多值相当于年龄只
- lucene&solr全文检索_7solr后台界面的介绍
printf();
接着上个博客,用浏览器打开solr之后的界面:Dashboard:仪表盘,显示了该solr实例开始运行的时间、版本、系统资源,jvm等信息Logging:solr的运行日志,如果出现问题会告诉你什么问题。CoreAdmin:solrcore的管理界面。solrcore是solr的一个独立运行实例单位,他可以对外提供索引和搜索服务,一个solr工程可以运行多个solrcore,一个core对应一个索
- lucene&solr全文检索_6solr引入、简介及服务器搭建
printf();
学习了lucene发现用lucene实现电商网站的搜索如京东等,代码量还是太多,尤其是对索引的维护方面,因此需要引入solr。Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。Solr可以独立运行,运行在Jetty、Tomcat等这些Servle
- lucene&solr全文检索_5索引的维护
printf();
增加新内容的时候,或者删除的时候我们需要对索引进行增删改查来进行索引的维护。先上代码:packagecome.me.lucene;//索引维护importjava.io.File;importorg.apache.lucene.analysis.Analyzer;importorg.apache.lucene.analysis.standard.StandardAnalyzer;importorg
- lucene&solr全文检索_4改进
printf();
在之前的程序中我们发现分词不太准确,因此我们可以使用支持中文分词。分析器的执行过程:从一个reader字符流开始,创建一个基于reader的tokenizer分词器,经过三个tokenfilter(第一个大写变小写,第二个用回车替换空格,去掉不需要的a,the,and,逗号等)生成tokens。要看分析器的分析效果只需要看tokenstream中的内容就可以了,每个分析器都有一个方法tokenst
- lucene&solr全文检索_3查询索引
printf();
创建完索引之后,我们需要查询。百度的查询接口及结果如图所示:具体步骤已经在上个博客中写到,直接上代码:(由于是一个完整的程序,我把创建索引的代码也post上)packagecome.me.lucene;importstaticorg.junit.jupiter.api.Assertions.*;importjava.io.File;importorg.apache.commons.io.FileU
- lucene&solr全文检索_2介绍及索引的创建
printf();
可以去官网去查看lucene和solr:http://lucene.apache.org/Lucene是基础,solr是封装Lucene的框架。可以发现Lucene的变更速度非常的快,从而可以看出使用的人非常的多,使用率非常高。索引和搜索的流程:绿色为索引创建过程:对要搜索的原始内容进行索引创建一个索引库,过程包括:确定原始内容采集文档创建文档分析文档索引文档红色为搜索过程:从索引库中搜索内容,过
- lucene&solr全文检索_1引入
printf();
在用百度或者其他浏览器的时候我们经常会输入一个字段,然后会显示包含该字段的内容例如:然后再点击搜索,你所所搜的字段会按出现次数递减排序出来并且以红字标识:这时候就需要用lucene了,我们可以用数据库进行搜索,很容易实现,通常都是用sql语句进行搜索,而且能很快的搜索到结果,但是为什么很快呢,那是因为数据库中的数据储存是有规律的,有行有列且数据格式数据长度都是固定的。数据分类:数据分为两类,结构化
- Lucene&Solr框架之第三篇
小小一
1、SolrCore的配置a)schma.xml文件b)配置中文分析器2、配置业务域和批量索引导入a)配置业务域b)批量索引导入c)Solrj复杂查询(用Query页面复杂查询、用程序实现)3、京东案例(简单的站内搜索实现)2.SolrCore的配置(重点)SolrCore的运行由两个重要的配置文件做指导,一个是solrconfig.xml,一个是schema.xml。1)solrconfig.x
- Lucene&Solr框架之第二篇
小小一
2.1.开发环境准备2.1.1.数据库jar包我们这里可以尝试着从数据库中采集数据,因此需要连接数据库,我们一直用MySQL,所以这里需要MySQL的jar包2.1.2.MyBatis的jar包(可选)从数据库采集数据就需要查询数据库,我们可以用jdbc原生的写DAO,还可以使用我们之前学习过的MyBatis动态代理DAO,因此可能需要MyBatis的jar包2.1.3.数据库环境数据库脚本:【资
- Lucene&Solr框架之第一篇
小小一
2.信息检索信息检索是计算机世界中非常重要的一种功能。信息检索不仅仅是指从数据库检索数据,还包括从文件、网页、邮件、用户手输入的内容中检索数据。通过怎样的高效方式将用户想要的信息快速提取出来,是计算机技术人员研究的重点方向之一。2.1.数据分类我们生活中的数据总体分为两种:结构化数据和非结构化数据。结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。非结构化数据:指不定长或无固定格式的
- LockObtainFailedException: Lock obtain timed out:
CodingUp
学习lucene测试索引全删除时报异常org.apache.lucene.store.LockObtainFailedException:Lockobtaintimedout:NativeFSLock@F:\Lucene&solr\index\write.lockatorg.apache.lucene.store.Lock.obtain(Lock.java:89)atorg.apache.luce
- LockObtainFailedException: Lock obtain timed out:
CodingUp
学习lucene测试索引全删除时报异常org.apache.lucene.store.LockObtainFailedException:Lockobtaintimedout:NativeFSLock@F:\Lucene&solr\index\write.lockatorg.apache.lucene.store.Lock.obtain(Lock.java:89)atorg.apache.luce
- lucene&solr cache在sort、facet等方面的应用解析
yangbutao
cacheLuceneSolr
对于cache,Lucene中提两种cache,filtercache和Fieldcache,lucene的cache在使用的过程中注意评估内存的使用量,避免导致内存溢出。 Filtercache的实现类为CachingWrapperFilter,用来缓存其他luceneFilter的查询结果。 Fieldcache应用的最为广泛,广泛应用于排序sort、分组统计facet中。
- lucene&solr 2011年盘点
gdp5211314
原文:http://java.dzone.com/articles/lucene-solr-year-2011-review2011年已经过去,在这里针对本年lucene和solr领域发生的点点滴滴进行一下回顾,也算是对lucene和solr的一个盘点.lucene成为apache基金会项目已逾十年(实际上lucene存在的历史已超过10年),solr作为apache基金项目也差不多度过了六个春秋
- [译]lucene&solr 2011年盘点
macrochen
apacheSolrLucene
原文:
http://java.dzone.com/articles/lucene-solr-year-2011-review
2011年已经过去, 在这里针对本年lucene和solr领域发生的点点滴滴进行一下回顾, 也算是对lucene和solr的一个盘点.
lucene成为apache基金会项目已逾十年(实际上lucene存在的历史已超过10年), solr 作为apache基
- [译]lucene&solr 2011年盘点
macrochen
apacheSolrLucene
原文:
http://java.dzone.com/articles/lucene-solr-year-2011-review
2011年已经过去, 在这里针对本年lucene和solr领域发生的点点滴滴进行一下回顾, 也算是对lucene和solr的一个盘点.
lucene成为apache基金会项目已逾十年(实际上lucene存在的历史已超过10年), solr 作为apache基
- [译]lucene&solr 2011年盘点
macrochen
solrluceneapache
阅读更多原文:http://java.dzone.com/articles/lucene-solr-year-2011-review2011年已经过去,在这里针对本年lucene和solr领域发生的点点滴滴进行一下回顾,也算是对lucene和solr的一个盘点.lucene成为apache基金会项目已逾十年(实际上lucene存在的历史已超过10年),solr作为apache基金项目也差不多度过了
- [译]lucene&solr 2011年盘点
macrochen
apacheSolrLucene
原文:
http://java.dzone.com/articles/lucene-solr-year-2011-review
2011年已经过去, 在这里针对本年lucene和solr领域发生的点点滴滴进行一下回顾, 也算是对lucene和solr的一个盘点.
lucene成为apache基金会项目已逾十年(实际上lucene存在的历史已超过10年), solr 作为apache基
- [译]lucene&solr 2011年盘点
macrochen
apacheSolrLucene
原文:
http://java.dzone.com/articles/lucene-solr-year-2011-review
2011年已经过去, 在这里针对本年lucene和solr领域发生的点点滴滴进行一下回顾, 也算是对lucene和solr的一个盘点.
lucene成为apache基金会项目已逾十年(实际上lucene存在的历史已超过10年), solr 作为apache基
- LeetCode[位运算] - #137 Single Number II
Cwind
javaAlgorithmLeetCode题解位运算
原题链接:#137 Single Number II
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现三次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
与#136类似,都是考察位运算。不过出现两次的可以使用异或运算的特性 n XOR n = 0, n XOR 0 = n,即某一
- 《JavaScript语言精粹》笔记
aijuans
JavaScript
0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。
1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。
2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是
- 你应该更新的Java知识之常用程序库
Kai_Ge
java
在很多人眼中,Java 已经是一门垂垂老矣的语言,但并不妨碍 Java 世界依然在前进。如果你曾离开 Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老 Java 中的新东西。
Guava
Guava[gwɑ:və],一句话,只要你做Java项目,就应该用Guava(Github)。
guava 是 Google 出品的一套 Java 核心库,在我看来,它甚至应该
- HttpClient
120153216
httpclient
/**
* 可以传对象的请求转发,对象已流形式放入HTTP中
*/
public static Object doPost(Map<String,Object> parmMap,String url)
{
Object object = null;
HttpClient hc = new HttpClient();
String fullURL
- Django model字段类型清单
2002wmj
django
Django 通过 models 实现数据库的创建、修改、删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox。 Cha
- 在SQLSERVER中查找消耗CPU最多的SQL
357029540
SQL Server
返回消耗CPU数目最多的10条语句
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
execution_count,
(SELECT SUBSTRING(text, statement_start_of
- Myeclipse项目无法部署,Undefined exploded archive location
7454103
eclipseMyEclipse
做个备忘!
错误信息为:
Undefined exploded archive location
原因:
在工程转移过程中,导致工程的配置文件出错;
解决方法:
 
- GMT时间格式转换
adminjun
GMT时间转换
普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小的帮助啦。
1、可以使用
SimpleDateFormat SimpleDateFormat
EEE-三位星期
d-天
MMM-月
yyyy-四位年
- Oracle数据库新装连接串问题
aijuans
oracle数据库
割接新装了数据库,客户端登陆无问题,apache/cgi-bin程序有问题,sqlnet.log日志如下:
Fatal NI connect error 12170.
VERSION INFORMATION: TNS for Linux: Version 10.2.0.4.0 - Product
- 回顾java数组复制
ayaoxinchao
java数组
在写这篇文章之前,也看了一些别人写的,基本上都是大同小异。文章是对java数组复制基础知识的回顾,算是作为学习笔记,供以后自己翻阅。首先,简单想一下这个问题:为什么要复制数组?我的个人理解:在我们在利用一个数组时,在每一次使用,我们都希望它的值是初始值。这时我们就要对数组进行复制,以达到原始数组值的安全性。java数组复制大致分为3种方式:①for循环方式 ②clone方式 ③arrayCopy方
- java web会话监听并使用spring注入
bewithme
Java Web
在java web应用中,当你想在建立会话或移除会话时,让系统做某些事情,比如说,统计在线用户,每当有用户登录时,或退出时,那么可以用下面这个监听器来监听。
import java.util.ArrayList;
import java.ut
- NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)
bijian1013
redis数据库NoSQL
一 .Redis常用命令
Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。
a.键值相关命令
b.服务器相关命令
1.键值相关命令
&
- java枚举序列化问题
bingyingao
java枚举序列化
对象在网络中传输离不开序列化和反序列化。而如果序列化的对象中有枚举值就要特别注意一些发布兼容问题:
1.加一个枚举值
新机器代码读分布式缓存中老对象,没有问题,不会抛异常。
老机器代码读分布式缓存中新对像,反序列化会中断,所以在所有机器发布完成之前要避免出现新对象,或者提前让老机器拥有新增枚举的jar。
2.删一个枚举值
新机器代码读分布式缓存中老对象,反序列
- 【Spark七十八】Spark Kyro序列化
bit1129
spark
当使用SparkContext的saveAsObjectFile方法将对象序列化到文件,以及通过objectFile方法将对象从文件反序列出来的时候,Spark默认使用Java的序列化以及反序列化机制,通常情况下,这种序列化机制是很低效的,Spark支持使用Kyro作为对象的序列化和反序列化机制,序列化的速度比java更快,但是使用Kyro时要注意,Kyro目前还是有些bug。
Spark
- Hybridizing OO and Functional Design
bookjovi
erlanghaskell
推荐博文:
Tell Above, and Ask Below - Hybridizing OO and Functional Design
文章中把OO和FP讲的深入透彻,里面把smalltalk和haskell作为典型的两种编程范式代表语言,此点本人极为同意,smalltalk可以说是最能体现OO设计的面向对象语言,smalltalk的作者Alan kay也是OO的最早先驱,
- Java-Collections Framework学习与总结-HashMap
BrokenDreams
Collections
开发中常常会用到这样一种数据结构,根据一个关键字,找到所需的信息。这个过程有点像查字典,拿到一个key,去字典表中查找对应的value。Java1.0版本提供了这样的类java.util.Dictionary(抽象类),基本上支持字典表的操作。后来引入了Map接口,更好的描述的这种数据结构。
&nb
- 读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 业务逻辑:项目经理只能处理500以下的费用申请,部门经理是1000,总经理不设限。简单起见,只同意“Tom”的申请
* bylijinnan
*/
abstract class Handler {
/*
- Android中启动外部程序
cherishLC
android
1、启动外部程序
引用自:
http://blog.csdn.net/linxcool/article/details/7692374
//方法一
Intent intent=new Intent();
//包名 包名+类名(全路径)
intent.setClassName("com.linxcool", "com.linxcool.PlaneActi
- summary_keep_rate
coollyj
SUM
BEGIN
/*DECLARE minDate varchar(20) ;
DECLARE maxDate varchar(20) ;*/
DECLARE stkDate varchar(20) ;
DECLARE done int default -1;
/* 游标中 注册服务器地址 */
DE
- hadoop hdfs 添加数据目录出错
daizj
hadoophdfs扩容
由于原来配置的hadoop data目录快要用满了,故准备修改配置文件增加数据目录,以便扩容,但由于疏忽,把core-site.xml, hdfs-site.xml配置文件dfs.datanode.data.dir 配置项增加了配置目录,但未创建实际目录,重启datanode服务时,报如下错误:
2014-11-18 08:51:39,128 WARN org.apache.hadoop.h
- grep 目录级联查找
dongwei_6688
grep
在Mac或者Linux下使用grep进行文件内容查找时,如果给定的目标搜索路径是当前目录,那么它默认只搜索当前目录下的文件,而不会搜索其下面子目录中的文件内容,如果想级联搜索下级目录,需要使用一个“-r”参数:
grep -n -r "GET" .
上面的命令将会找出当前目录“.”及当前目录中所有下级目录
- yii 修改模块使用的布局文件
dcj3sjt126com
yiilayouts
方法一:yii模块默认使用系统当前的主题布局文件,如果在主配置文件中配置了主题比如: 'theme'=>'mythm', 那么yii的模块就使用 protected/themes/mythm/views/layouts 下的布局文件; 如果未配置主题,那么 yii的模块就使用 protected/views/layouts 下的布局文件, 总之默认不是使用自身目录 pr
- 设计模式之单例模式
come_for_dream
设计模式单例模式懒汉式饿汉式双重检验锁失败无序写入
今天该来的面试还没来,这个店估计不会来电话了,安静下来写写博客也不错,没事翻了翻小易哥的博客甚至与大牛们之间的差距,基础知识不扎实建起来的楼再高也只能是危楼罢了,陈下心回归基础把以前学过的东西总结一下。
*********************************
- 8、数组
豆豆咖啡
二维数组数组一维数组
一、概念
数组是同一种类型数据的集合。其实数组就是一个容器。
二、好处
可以自动给数组中的元素从0开始编号,方便操作这些元素
三、格式
//一维数组
1,元素类型[] 变量名 = new 元素类型[元素的个数]
int[] arr =
- Decode Ways
hcx2013
decode
A message containing letters from A-Z is being encoded to numbers using the following mapping:
'A' -> 1
'B' -> 2
...
'Z' -> 26
Given an encoded message containing digits, det
- Spring4.1新特性——异步调度和事件机制的异常处理
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- squid3(高命中率)缓存服务器配置
liyonghui160com
系统:centos 5.x
需要的软件:squid-3.0.STABLE25.tar.gz
1.下载squid
wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz
tar zxf squid-3.0.STABLE25.tar.gz &&
- 避免Java应用中NullPointerException的技巧和最佳实践
pda158
java
1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常
Object unk
- 如何在Swift语言中创建http请求
shoothao
httpswift
概述:本文通过实例从同步和异步两种方式上回答了”如何在Swift语言中创建http请求“的问题。
如果你对Objective-C比较了解的话,对于如何创建http请求你一定驾轻就熟了,而新语言Swift与其相比只有语法上的区别。但是,对才接触到这个崭新平台的初学者来说,他们仍然想知道“如何在Swift语言中创建http请求?”。
在这里,我将作出一些建议来回答上述问题。常见的
- Spring事务的传播方式
uule
spring事务
传播方式:
新建事务
required
required_new - 挂起当前
非事务方式运行
supports
&nbs