lucene&solr学习——索引维护】的更多相关文章

1.索引库的维护 索引库删除 (1) 全删除 第一步:先对文档进行分析 public IndexWriter getIndexWriter() throws Exception { // 第一步:创建java工程,并导入jar包 // 第二步:创建一个indexwriter对象(创建索引) // 1.指定索引库的存放位置Directory对象 Directory directory = FSDirectory.open(Paths.get("E:\\temp\\index")); //…
1.什么是solr solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文检索服务器.Solr提供了比lucene风味丰富的查询语言,同时实现了可配置,可扩展,并对索引,搜索性能进行优化. Solr可以独立运行,运行在Jetty,Tomcat等这些Servlet容器中,solr索引的实现方法很简单,用POST方法享Solr服务器发送一个藐视Field及其内容的XML文档,Solr根据XML文档添加,删除,更新索引.Solr搜索只需要发送HTTP GET请求,然后…
1. Lucene的下载 Lucene是开发全文检索功能的工具包,从官网下载Lucene4.10.3并解压. 官网:http://lucene.apache.org/ 版本:lucene7.7.0 (学习上没必要最新的,因为企业中也不会升级太快) Jdk要求:1.7以上 2.使用的jar包 核心包 其他:  3. 创建索引库 (1) 实现步骤 (程序的编写步骤与之前分析的理论步骤是颠倒过来的) 第一步:创建java工程,并导入jar包 第二步:创建一个indexwriter对象(创建索引) 1.…
1.什么是solrJ solrj是访问Solr服务的java客户端,提供索引和搜索的请求方法,SolrJ通常在嵌入在业务系统中,通过SolrJ的API接口操作Solr服务,如下图: 依赖jar包: 2.用solrJ对solr后台进行增删改查 2.1 添加文档 //向索引库中添加索引 @Test public void addDocument() throws Exception { //和solr服务器创建连接 //参数:solr服务器的地址 SolrServer solrServer = ne…
1.Lucene基础 (1) 简介 Lucene是apache下的一个开放源代码的全文检索引擎工具包.提供完整的查询引擎和索引引擎:部分文本分析引擎. Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索的功能. (2) 应用场景 对于数据量大,数据结构不固定的数据可采用全文检索方式搜索,比如百度,Google等搜索引擎,论坛搜索,电商网站站内搜索等. 2. Lucene实现全文检索的流程 下面这张图足以说明索引的流程 (1) 绿色表示索引过程,对要搜索的原…
下图是语汇单元的生成过程: 从一个Reader字符流开始,创建基于Reader的Tokenizer分词器,经过三个TokenFilter生成语汇单元Tokens. 要看分词器的分析效果,只需要看Tokenstream中的内容就可以了.每个分词器都有一个方法tokenStream,返回一个tokenStream对象. 分词器的种类有很多,目前使用最广的分词器IK-analyzer,注意:Ik-analyzer的版本要与lucene版本相匹配才能使用,否则会报错. Analyzer使用时机 索引是使…
一.Field 域 1.Field 属性 Field 是文档中的域,包括 Field 名和 Field 值两部分,一个文档可以包括多个 Field,Document 只是 Field 的一个承载体,Field 值即为要索引的内容,也是要搜索的内容. 是否分词 (tokenized) 是:作分词处理,即将 Field 值进行分词,分词的目的是为了索引. 比如:商品名称.商品简介等,这些内容用户要输入关键字搜索,由于搜索的内容格式大.内容多需要分词后将语汇单元索引. 否:不作分词处理 比如:商品 i…
Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server 地址:http://www.microsoft.com/zh-CN/download/details.aspx?displaylang=en&id=11774 二.配置Solr dataimport for SQLServer 1.依赖jar包配置 将MSSQLServer的JDBC驱动中的sqlj…
之前的博客搜索栏用的是 sql 模糊查询进行查找,最近学完lucene,要学以致用啊,就把sql搜索给替换下来吧 中间遇到一些问题,也是学过程中没有提到的,所以说,还是实践出真知啊. lucene分开来讲的话,我感觉就是两大块:索引维护.搜索索引 索引维护包括:添加索引.删除索引.更新索引 public class BlogIndex { // lucene 路径在 bean 里面配置 private String lucenePath;public String getLucenePath()…
2.1.开发环境准备 2.1.1.数据库jar包 我们这里可以尝试着从数据库中采集数据,因此需要连接数据库,我们一直用MySQL,所以这里需要MySQL的jar包 2.1.2.MyBatis的jar包(可选) 从数据库采集数据就需要查询数据库,我们可以用jdbc原生的写DAO,还可以使用我们之前学习过的MyBatis动态代理DAO,因此可能需要MyBatis的jar包 2.1.3.数据库环境 数据库脚本:[资料\数据库\book.sql],创建一个lucene数据库(utf-8),然后导入这个脚…