搜索引擎
搜索引擎技术在Java Web中使用广泛,除了用于搜索外,还可被应用于冷数据的查询、归档操作。本专栏将介绍包括Lucene、Solr、Elasticsearch等搜索引擎技术。
Jitwxs
关注 https://jitwxs.cn,看最新首发文章
展开
-
Lucene初探——基于Lucene 6.6.2
一、Lucene简介顺序扫描法全文检索二、全文检索流程2.1 索引过程2.1.1 获得原始文档2.1.2 创建文档对象2.1.3 分析文档2.1.4 创建索引2.2 搜索过程2.2.1 用户搜索2.2.2 创建查询2.2.3执行查询2.2.4 渲染结果三、代码实现3.1 环境配置3.2 Query对象3.2.1 TermQuery3...原创 2018-03-06 00:59:17 · 1968 阅读 · 1 评论 -
Elasticsearch初探(5)——与SpringBoot整合
一、环境搭建采用SpringBoot 2.0 + Elasticsearch 6.4.1.源码地址:本文只列举了其中一些API,更多API请参考官方文档:https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-supported-apis.html1.1 导入依赖注意Spri...原创 2018-10-09 17:05:19 · 831 阅读 · 0 评论 -
Elasticsearch初探(4)——集群
Elasticsearch的一大优势就是能够十分轻松的进行分布式部署,本文将主要讲解Elastic的集群搭建。一、基础概念1. 1 节点类型node.masternode.data节点类型true(default)true(default)候选主节点 && 数据节点truefalse候选主节点falsetrue数据节点fal...原创 2018-10-09 10:16:56 · 515 阅读 · 2 评论 -
Elasticsearch初探(2)——相关概念与索引、数据操作
一、基本概念由于Elasticsearch也是基于Lucene实现,因此它的许多概念和Luncene相似,关于Lucene的知识,可以参考文章:Lucene初探——基于Lucene 6.6.2。1.1 Node、ClusterElasticsearch本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。单个 Elastic 实例称为一个节点(no...原创 2018-10-08 18:12:43 · 600 阅读 · 0 评论 -
Elasticsearch初探(1)——基本介绍与环境搭建
一、Elasticsearch简介1.1 什么是ElasticsearchElasticsearch是一个实时的分布式搜索和分析引擎。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。Elasticsearc...原创 2018-10-08 11:56:23 · 1057 阅读 · 0 评论 -
Solr初探(6)——SolrCloud
一、系统架构二、搭建环境2.1 搭建Zookeeper集群2.2 搭建Tomcat集群2.3 部署Solr2.4 关联solr和zookeeper2.5 将solr配置文件上传至zookeeper2.6 验证三、分片3.1 新建分片3.2 删除分片四、Solrj4.1 CloudSolrClient4.2 Spring配置Solr集群...原创 2018-04-12 23:35:22 · 795 阅读 · 0 评论 -
Solr初探(5)——Solrj的基本使用
导入依赖添加/更新数据删除数据查询数据导入依赖导入Solr源码包dist文件夹下的solr-solrj-6.6.2.jar以及solrj-lib文件夹下的所有包到项目中。除此之外,还要加上log4j包和junit测试包。添加/更新数据Solrj的使用十分简单,下面是一个添加数据的例子:@Testpublic void testA...原创 2018-04-10 20:27:26 · 553 阅读 · 0 评论 -
Solr初探(4)——后台数据导入及Document的增删改查
一、添加Document二、更新Document三、删除Document四、导入数据五、查询Document进入Solr后台页面,选择一个核,点击Documents,进入Document管理标签: 一、添加Document在Solr初探(2)——域管理中我们已经说过了,id是一个Document必须要包含的field,让我们新建一个Document,类型为...原创 2018-04-10 19:14:04 · 5912 阅读 · 0 评论 -
Solr初探(3)——配置IK分词器
Solr配置第三方分词器也是十分简单,这里以IK分词器为例。点击下载我自编译的IK分词器,支持到 JDK 1.8 + Lucene 6.6.2。Step1: 将IK分词器的jar包放到D:\apache-tomcat-8.5.16\webapps\solr\WEB-INF\lib目录下。 Step2:将IK分词器的配置文件放到D:\apache-tomcat-8.5.16\webapps...原创 2018-04-10 16:03:14 · 1002 阅读 · 0 评论 -
Solr初探(2)——域管理
field和fieldTypedynamicFieldcopyField在上一节中,我们已经成功搭建了Solr后台,并且在后台中新建了一个核(core),本节将介绍Solr配置域。我们在后台系统中选择core1,点击Documents,在里面添加一个Document(文档),内容如下:{"id":"1","name":"jitwxs&a原创 2018-04-10 15:31:29 · 1195 阅读 · 0 评论 -
Solr初探(1)——Solr介绍(基于Solr 6.6.2)
一、Solr简介1.1 Solr简介1.2 Solr与Lucene区别二、Solr安装与配置2.1 下载Solr2.2 搭建Solr后台2.3 创建一个核(core)三、后台介绍一、Solr简介1.1 Solr简介Solr是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Luc...原创 2018-03-07 00:30:12 · 1810 阅读 · 0 评论 -
Lucene5.5.4入门以及基于Lucene实现博客搜索功能
转载于:https://www.cnblogs.com/liuxianan/p/lucene-hello-world.html前言一直以来个人博客的搜索功能很蹩脚,只是自己简单用数据库的like %keyword%来实现的,所以导致经常搜不到想要找的内容,而且高亮显示、摘要截取等也不好实现,所以决定采用Lucene改写博客的搜索功能。先来看一下最终效果:本文demo地址:h...转载 2018-01-25 01:07:37 · 488 阅读 · 0 评论 -
Elasticsearch初探(3)——简单查询与中文分词
一、简单查询1.1 查询全部请求方式: GET请求路径: ES服务的IP:端口/索引名/{分组,可省略}/_search以上篇文章建立的索引为例,搜索结果如下:{ "took": 0, "timed_out": false, "_shards": { "total": 5, "successful": 5, "sk.原创 2018-10-10 19:36:23 · 1919 阅读 · 0 评论