- 博客(30)
- 资源 (3)
- 收藏
- 关注
原创 Lucene十(自定义分词器、中文分词器)
根据分词器的分词流程,我们可以自定义分词器,这里扩展停用词分词器。package cn.liuys.lucene.util;import java.io.Reader;import java.util.Set;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.
2015-08-03 09:30:43 571
原创 Lucene九(分词)
Lucene3.5中有这四大类分词器:SimpleAnalyzer、StopAnalyzer、WhiltespaceAnalyzer、StandardAnalyzer。分词流程:Tokenizer:TokenFilter:TokenStream中保存的信息如下:了解了分词流程和TokenStream之后,可以通过代码来查看分词信息:packa
2015-08-02 08:20:06 408
原创 Lucene八(搜索分页)
Lucene搜索分页有两种方式,即“再查询”和基于searchAfter的方式,这里为了演示分页,我在F:\stady\JAVA\other\Lucene\test\sourceToFenye下添加了很多个文件,用于测试分页,然后为这些文件创建索引,代码及测试如下:package cn.liuys.lucene.index;import java.io.File;import
2015-08-01 15:14:50 396
原创 Lucene七(搜索)
通过代码详细讲解Lucene3.5的各种搜索功能,包括TermQuery精确匹配,TermRangeQuery范围匹配,NumericRangeQuery数字类型的范围匹配,PrefixQuery按前缀匹配,WildcardQuery通配符匹配,BooleanQuery连接多个条件匹配,PhraseQuery短语匹配,FuzzyQuery模糊匹配,最后讲解了通过查询解析器QueryParser来查
2015-08-01 14:55:38 394
原创 Lucene六(IndexReader的设计)
IndexReader和IndexWriter的打开是非常消耗资源的,一般我们在项目中都将IndexReader设计为单例,有的项目中将IndexWriter也设计为单例。由于将IndexReader设计为单例,所以IndexReader不可以被关闭,只需要关闭IndexSearcher。而在用IndexReader的过程中,正因为由于单例的原因,如果索引发生了改变,不能即时的反映到IndexRe
2015-08-01 10:07:36 1005
原创 RHEL二十(管理SELINUX的安全性)
SELinux通过MAC方式来管理程序,即以程序为主体来管理权限,目标:为主体将要访问的文件,策略:策略决定主体能否访问指定的文件。安全上下文:主体和目标的安全上下文必须一致才能够顺利存取。getenforce查看SELinux的工作模式,有enforcing启用SELinux,permissive警告模式,disabled禁用SELinux临时修改SELinux的模式,setenfo
2015-07-30 20:27:47 296
原创 RHEL十九(ACL的使用)
ACL,主要的目的是提供传统的权限之外的细部的权限设置,它可以为每一个用户设置权限,为每一个文件或目录设置权限。setfacl设置acl策略-m 设置或修改文件或目录的acl规则 setfacl -m u:usera:r passwd setfacl -m m:r passwd 掩码的权限,该权限将影响用户对文件或目录的权限,即用户的有效权限会发生
2015-07-30 17:02:21 492
原创 RHEL十八(管理进程的优先级)
nice指的是应用层优先级,优先级是-20 - 19,数字越小,优先级越高,root用户开启的进程默认是0,默认子进程的优先级继承父进程。renice -n -20 pid 修改指定pid进程的优先级查看进程策略:chrt -p pid,策略有这几种:SCHED_OTHER(默认),SCHED_FIFO(先进先出),SCHED_RR(轮循),SCHED_BATCH,SCHED_ID
2015-07-30 15:17:20 337
原创 RHEL十七(计划将来的Linux任务)
计划任务分为两种:at 一次性计划任务,at后一般跟一个时间,如at -t 20:00 07302015 ..........要执行的任务at nowmkdir /backupcp /etc/passwd /backupatq查询任务atrm id 删除(查询出来的id)按ctrl+d,任务(创建backup并将passwd复制过来)马上就会执
2015-07-30 14:16:46 396
原创 RHEL十六(使用VIM编辑器)
vi的三种模式:命令模式浏览内容,复制、删除、剪切输入$,光标跳转到所在行行尾,输入^或者0,跳转到当前行行首G跳转到最后一行,gg跳转到第一行vi + /etc/passwd 光标直接定位到最后一行vim +20 /etc/passwd 光标定位到第20行yy 复制一行 复制两行2yy.....p 粘贴dd 2dd 3dd删除和剪切(输入p)/x
2015-07-30 10:04:40 308
原创 RHEL十五(通过GREP使用正则表达式)
正则表达式与GREP的关心:正则是一种表达式语法,grep是一条命令,用于匹配文本并显示文本当前行,支持正则表达式grep ^root /etc/shadow -ni -n显示行号 -i忽略大小写grep 'r..t' /etc/passwd 点表示匹配任意单个字符grep 'r[abcdefg]t' /etc/passwd []表示匹配其中的任意一个字符gr
2015-07-30 10:03:24 322
原创 RHEL十四(使用虚拟化系统)
本章只讲解Linux单机版虚拟化KVM。使用KVM虚拟化需要CPU支持虚拟化才行,cpu有两种类型,Intel和AMD,查看Intel cpu是否支持虚拟化:grep vmx /proc/cpuinfo,查看AMD cpu是否支持虚拟化使用grep svm /proc/cpuinfoKVM技术中需要使用到qemu+kvm,kvm负责cpu和内存的虚拟化,不能模拟其他设备,qemu用来模
2015-07-28 16:11:49 647
原创 RHEL十三(访问Linux文件系统)
rhel5中默认的文件系统是ext3,rhel6中默认的文件系统是ext4,rhel7中默认的文件系统是xfs。设备也是以文件的形式存在,如果没有挂载直接查看里面是没有数据的mount /dev/vdal /mnt/data 挂载设备到指定挂载点,该命令只能一次性,重启系统后就没有了,若想启动系统自动挂载,需要编辑/etc/fstab文件:/dev/vdal
2015-07-28 16:07:36 408
原创 RHEL十二(安装和更新软件包)
软件安装分为:二进制,rpm,src rpm,yum,源代码编译,其他系统。使用最多的都是rpm包,事实上rpm已经成为行业的标准RPM(RedHat Package Manager)是红帽软件包管理工具。可以在网上看到有些包以.rpm结尾,这是redhat软件包的标志,但不是说该包只能在redhat中安装,其他linux一样可以安装。.rpm包的配置文件,文档等都是包中已经定义了存在在某个地
2015-07-28 11:16:07 650
原创 RHEL十一(归档文件并在系统间复制文件)
归档tar是一个归档命令,只有归档功能,默认没有压缩功能tar [选项] [文件或目录]-c create 创建一个归档-C directory 解压到某个目录-x extract 解压-t list 查看归档文件的内容-f file 归档的文件名-v verbose 显示归档的过程-p preseve 保留原来的权限-A 追加一个文件到归档文件中-
2015-07-28 09:12:18 373
原创 RHEL十(网络)
在rhel7中,网络管理使用的是NetworkManager服务。网络的概念IPV4 32位地址A 0.0.0.0 - 126.255.255.0 掩码255.0.0.0 网络位(8)+ 主机位(24) 私有地址范围 10.0.0.0 - 10.255.255.255B 128.0.0.0 - 191.
2015-07-27 16:07:29 549
原创 RHEL九(分析和存储日志)
本章讲解本地日志管理和搭建日志服务器。rhel5中管理日志的服务是syslog,rhel6中管理日志的服务是rsyslog,rhel7中管理日志的服务是rsyslog和systemd-journald,默认情况下这两个服务不冲突,可以同时开起来,systemd-journald作为rsyslog的补充。默认情况下本地日志存储在var/log下。日志服务的配置文件为/etc/rsyslog.co
2015-07-24 17:00:24 477
原创 RHEL八(配置和保护openssh服务)
ssh(secure shell protocal 安全的shell协议)用于连接服务器,早期使用telnet,它是以明文的形式传输数据,非常不安全,所以现在不使用telnet,ssh替代了该服务。语法:ssh [username@ip或者hostname] [-p 端口] ,ssh默认的端口号是22如:ssh root@desktop0 ssh desktop22 -X
2015-07-24 15:37:06 1213
原创 RHEL七(控制服务和守护进程)
rhel5、rhel6中控制服务使用service、chkconfig命令,在rhel7中被systemctl取代,rhel7中在一定程度上仍然可以使用service、ckconfig,但推荐使用systemctl。sytemctl的优点:1、并行化启动服务,可以提高系统的开机速度2、按需启动服务,而不需要单独的服务3、自动管理并启动依赖的服务4、屏蔽(冲突的)服务syst
2015-07-24 15:26:44 1351
原创 RHEL六(监控和管理Linux进程)
进程是操作系统中非常核心的概念,可以说没有进程就没有操作系统,两者不可分离。进程是替用户完成某种任务的执行实体,在linux当中看到的进程和线程其实是同样的东西,但还是有区别,即使用轻量级进程来实现线程。系统结构:内核----模块----进程----线程从rhel7开始,第一个进程是systemd,pid为1,rhel5、rhel6第一个进程是init,pid为1。查看进程命令:p
2015-07-24 11:27:57 560
原创 RHEL五(文件访问权限)
Linux文件服务器权限:基本权限、特殊权限、隐藏权限、高级权限,这里先说前三者权限基本权限[root@desktop0 ~]# ll-rw-------. 1 root root 8619 May 7 2014 anaconda-ks.cfg第一个字符表示文件类型,后面的字符以三三分,分别表示所有者的权限,所属组的权限,其他用户的权限第一个字符:1文件类型 - 普
2015-07-23 21:37:15 625
原创 RHEL四(管理本地用户和组以及本地密码策略)
在linux中,用户可以分为几类:超级用户、系统用户、普通用户。超级用户uid=0,系统用户在rhel5和rhel6中uid=1-499,rhel7中,uid=1-200表示系统自带用户,201-999表示其他系统用户,普通用户在rhel5和rhel6中是500-60000,在rhel7中从1000开始。用户相关文件:/etc/passwd 存放用户和用户对应的UID[root@d
2015-07-23 17:25:18 791
原创 RHEL三(输入输出重定向、管道符)
输出信息包括正确信息和错误信息。标准的输出设备:显示器,标准输入设备:键盘,扫描仪等。使用命令 ll /dev/std*可以查看输入输出设备: lrwxrwxrwx. 1 root root 15 Jul 23 10:48 /dev/stderr -> /proc/self/fd/2lrwxrwxrwx. 1 root root 15 Jul 23 10:48 /dev/stdin
2015-07-23 16:12:05 372
原创 RHEL二(获取帮助)
linux中获取帮助的命令有whatis,help,man,info,也可以从/usr/share/doc中查看,也可以在官网doc.redhat.com查看帮助whatis 使用:[root@desktop0 content]# whatis lsls (1) - list directory contentsls (1p)
2015-07-23 11:56:04 286
原创 RHEL一(管理文件、通配符、特殊符号)
在开始Linux之前,先在Linux中安装一个输入法(ibus),使用yum命令: yum list ibus*可以查看已装和未装的哪些ibus相关输入法,使用yum install ibus-libpinyin.x86_64 -y,接着还需要安装中文输入法,使用yum search chinese查找中文输入法,找到wqy-microhei-fonts.noarch安装:yum install
2015-07-22 21:01:47 530
原创 Lucene五(添加日期和数字类型索引)
日期和数字类型索引可以使用NumericField对象来添加,建立索引、搜索、测试的代码如下:public class IndexUtil {private String[] ids = {"1","2","3","4","5","6"};private String[] emails = {"aa@itat.org","bb@itat.org","cc@cc.org","dd@s
2015-07-22 17:05:19 1558
原创 Lucene四(Luke工具的使用)
Luke工具可以用来查看索引文件的所有信息,是Lucene开发必备的工具之一,Luke的版本一定要和项目所使用的Lucene的版本一致才能打开Lucene创建的索引文件。Luke工具的使用:双击lukeall-3.5.0.jar打开该工具,如果不能打开,使用java命令打开,打开后界面如下所示:Path to Index Directory窗口用于打开已存在的索引文件所在目录,
2015-07-22 16:13:29 1651
原创 Lucene三(索引加权)
在建立索引的时候,为指定的Document对象加权会增加该文档的评分,使其在搜索结果中靠前。使用Document对象的setBoost方法可以为索引加权,代码如下:先来测试一下不加权时索引的搜索结果,需要一个search方法:public void search() {try {IndexReader reader = IndexReader.open(directory);I
2015-07-22 16:00:46 843
原创 Lucene二(域选项、文档基本信息、索引的增删改查)
先来看看域选项,域选项分为域存储选项和域索引选项,该选项是在为Document添加Field的时候,对该Field的描述。域存储选项即Field.Store.* *等于YES时表示会把这个域中的内容完全存储到索引文件中,方便进行还原;*等于NO表示这个域中的内容不存储到索引文件中,但是不代表不能进行索引,存储和索引是两个概念。域索引选项即Field.Index.* *等于NO,表示不进
2015-07-22 10:34:15 701
原创 Lucene一(开篇:lucene整体学习路线和初体验)
lucene是一个全文检索框架,用于快速的搜索全文信息。学习它就是围绕着索引、分词、搜索、以及一些高级的搜索、评分、排序等功能进行学习,该博客围绕3.5版本来进行学习。首先从一个简单的实例开始:建立索引的步骤:1、创建Directory;2、创建IndexWriter;3、创建Document对象;4、为Document添加Field;5、通过IndexWriter添加文档到索引中;6、关
2015-07-22 08:55:59 427
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人