lucene

elasticsearch--知识点

我只是一个虾纸丫 提交于 2020-02-21 17:31:18
一、elasticsearch Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。 基于lucene lucene基于倒序索引 1、倒序索引 2、正序索引 来源: https://www.cnblogs.com/jentary/p/12342034.html

Elasticsearch_Lucene基础

北城以北 提交于 2020-02-20 04:35:30
Lucene基本概念 文档(document):索引与搜索的主要载体,它包含一个或多个字段,存放将要写入索引的或将从索引搜索出来的数据。 字段(field):文档的一个片段,它包含字段的名称和字段的内容两个部分。 词项(term):搜索时的一个单位,代表了文本中的一个词。 词条(token):词项在字段文本中的一次出现,包括词项的文本、开始和结束的偏移以及词条类型。 分析数据 文本分析由分析器来执行,建立在分词器、过滤器和字符映射器之上。 分词器工作的结果称为词条流。 过滤器串联执行,可以一个也可以多个,用于处理分词器的结果。常见的过滤器:小写过滤器、ASCII过滤器(移除词条中所有非ASCII字符)、同义词过滤器(将一个词条转换成另一个词条)、多语言词干还原过滤器。 字符映射器用于分词器之前的文本预处理。比如HTML文本的去标签处理 Lucene查询语言 AND :结果是当且仅当左右两边的词都在文档中出现。例:apache AND lucene 返回同时包含这两个词的文档 OR :包含任意一个词项的文档被返回 NOT :不包含NOT后面的词项的文档被返回。例:Lucene NOT elasticsearch 返回包含Lucene不包含elasticsearch的文档 + :只有包含+后面词项的文档符合。例:+Lucene Apache 包含Lucene

Need searched text and a few lines around it in Solr search in java api

橙三吉。 提交于 2020-02-16 10:43:50
问题 i'm using solr 7.7.2 and I wrote a Java program in Solr using solrj that searches for a word in a huge text file. I use following code to show the search results that represent the whole text. SolrQuery params = new SolrQuery(); params.setQuery("content:word for search"); How to display only one line of text where the word is in that line? All code is like this public static void main(String args[]) throws SolrServerException, IOException { String urlString = "http://localhost:8983/solr/test

Need searched text and a few lines around it in Solr search in java api

◇◆丶佛笑我妖孽 提交于 2020-02-16 10:42:37
问题 i'm using solr 7.7.2 and I wrote a Java program in Solr using solrj that searches for a word in a huge text file. I use following code to show the search results that represent the whole text. SolrQuery params = new SolrQuery(); params.setQuery("content:word for search"); How to display only one line of text where the word is in that line? All code is like this public static void main(String args[]) throws SolrServerException, IOException { String urlString = "http://localhost:8983/solr/test

Need searched text and a few lines around it in Solr search in java api

倾然丶 夕夏残阳落幕 提交于 2020-02-16 10:42:09
问题 i'm using solr 7.7.2 and I wrote a Java program in Solr using solrj that searches for a word in a huge text file. I use following code to show the search results that represent the whole text. SolrQuery params = new SolrQuery(); params.setQuery("content:word for search"); How to display only one line of text where the word is in that line? All code is like this public static void main(String args[]) throws SolrServerException, IOException { String urlString = "http://localhost:8983/solr/test

全文检索引擎及工具 Lucene Solr

[亡魂溺海] 提交于 2020-02-16 03:55:22
全文检索引擎及工具 lucence lucence是一个全文检索引擎。 lucence代码级别的使用步骤大致如下: 创建文档(org.apache.lucene.document.Document),并通过Document的add方法为其添加字段(lucence.document.Field) 创建lucence.index.IndexWriter,通过addDocument或addDocuments方法添加构建好的诸多Document 通过close方法关闭IndexWriter 创建索引搜索器lucence.search.IndexSearcher,需要传入索引仓库阅读器(lucenc.index.DirectoryReader)参数 通过search方法在搜索器上执行查询,参数是ucence.search.Query对象,通过查询解析器lucene.queryparser.classic.QueryParser的实例parse(String)方法来构建一个查询,QueryParser实例可以通过new标准解析器lucene.queryparser.flexible.standard.StandardQueryParser得到 中文文本索引构建及查询示例 (以下涉及的是6.4.2版本的lucene) 对中文文本构建索引时,不能使用 StandardAnalyzer

1 开发环境 eclipse oomph版本 jdk1.8 lucene 6.6.0,luke6.6.0

我的梦境 提交于 2020-02-16 03:48:42
第一个jar 是分词器,后面的是lucene 解压出来的 路径如下: lucene-analyzers-common-6.6.0.jar:lucene-6.6.0/common/ lucene-analyzers-smartcn-6.6.0.jar:lucene-6.6.0/smartcn/ lucene-core-6.6.0.jar:lucene-6.6.0/core/ lucene-highlighter-6.6.0.jar:lucene-6.6.0/highlighter/ lucene-memory-6.6.0.jar:lucene-6.6.0/memory/ lucene-queries-6.6.0.jar:lucene-6.6.0/queries/ lucene-queryparser-6.6.0.jar:lucene-6.6.0/queryparser/ luke 可视化工具 https://github.com/DmitryKey/luke/releases?after=luke-7.2.0 下载解压后,运行luke.bat 即可, 来源: https://www.cnblogs.com/woshuaile/p/10342510.html

你真的了解过Lucene吗?

一世执手 提交于 2020-02-14 20:15:02
在之前的博客中,我有写到 《ElasticSearch学习,请先看这一篇(win_Elasticsearch)》 ,在里面的第一句话,==Elasticsearch是一个基于Lucene的搜索服务。==那么对于lucene,你有什么看法?本篇对于lucene进行探讨! Lucene简介 Lucene是一个全文搜索框架,而不是应用产品。因此它并不像http://www.baidu.com/ 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。 Lucene 是一种高性能、可伸缩的信息搜索(IR)库,在 2000 年开源,最初由鼎鼎大名的 Doug Cutting 开发,是基于 Java 实现的高性能的开源项目。 Lucene 采用了基于倒排表的设计原理,可以非常高效地实现文本查找,在底层采用了分段的存储模式,使它在读写时几乎完全避免了锁的出现,大大提升了读写性能。 Lucene能做什么? 要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关键词出现在哪里。 知道了这个本质,你就可以发挥想象做任何符合这个条件的事情了。你可以把站内新闻都索引了,做个资料库;你可以把一个数据库表的若干个字段索引起来,那就不用再担心因为“%like%”而锁表了

Lucene简介

微笑、不失礼 提交于 2020-02-14 00:04:47
Lucene是一个开源的全文检索引擎工具包,最初由Doug Cutting开发。早在1997年,资深全文检索专家 Doug Cutting用一个周末时间,使用Java语言创作了一个文本搜索的开源函数库,目的是为各种中小型应用软件加入全文搜索功能,不久以后,Lucene诞生了,2000年Lucene称为Apache开源社区的一个子项目。随着Lucene被人们熟知,越来越多的用户和研发人员加入其中,完善并壮大项目的发展,Lucene已成为最受欢迎的具有完整的查询引擎和索引引擎的全文检索库。 Lucene从问世之后,引发了开源社区的巨大反响,程序员们不仅使用它构建全文检索应用,而且将之集成到各种系统软件中去,除此之外还用来构建Web应用。维基百科用Lucene建立了一个站内的强大搜索功能,用以检索站内数以千万的词条。IBM的商业软件Web Sphere也采用了Lucene作为全文索引引擎。Lucene以其开放源代码的特性、优异的索引结构、良好的系统架构获得了越来越多的应用。Lucene的优点主要有以下3点: 1.稳定,索引性能高 现在硬盘上每小时能够索引150GB以上的数据。 对内存的要求小,只需要1MB的对内存。 增量索引和批量索引一样快 索引的大小约为索引文本大小的20%~30%。 2.高效、准确、高性能的搜索算法 搜索排名———最好的结果显示在最前面。 许多强大的查询类型:短语查询

lucene实现初级搜索引擎

偶尔善良 提交于 2020-02-14 00:00:34
一、系统设计 搜索引擎项目代码主要分为三个部分,第一部分是构建索引,全文检索;第二部分是输入问题,对问题进行分词、提取关键词、关键词扩展;第三部分是将搜索结果输出到GUI图形用户界面。 二、搜索引擎 搜索引擎的工作流程可以简化归结为以下四个步骤: (1)网上抓取网页 (2)建立索引数据库 (3)在索引数据库中搜索 (4)对搜索结果进行处理和排序 三、全文检索 1. 什么是全文检索? 全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。 2. 全文检索流程 全文检索大体分两个过程,索引创建 (Indexing) 和搜索索引 (Search) 。 ①索引创建:从结构化和非结构化数据提取信息,创建索引的过程。 ②搜索索引:得到用户的查询请求,搜索创建的索引,然后返回结果。 四、利用 Lucene 实现索引和搜索 1. 简介 Lucene是一个高性能,易于扩展的IR(Information Retrieval)Java类库,可以利用其中的Java类轻松地在应用程序中增加索引和搜索功能。Lucene完全用Java实现,具有良好的跨平台性,是Apache Jakarta项目中一个子项目。 2.lucene 架构图 Lucene的架构图如下图4.1所示: 图4.1Lucene的架构图 3. Lucene 的核心类 Lucene的核心的索引类简介如下: ① IndexWriter 类