`

Lucene相关度排序

 
阅读更多
/**
	 * 搜索
	 */
	@Test
	public void search() throws Exception
	{
		String queryString = "笑话";
		
		Map<String, Float> boostMap = new HashMap<String, Float>();
		//默认是1.0f
		//boostMap.put("name", 3.0f);
		boostMap.put("content",8.0f);

		// 把要搜索的文本解析成Query
		String[] fields = {"name", "content"};
		QueryParser queryParser = new MultiFieldQueryParser(fields, analyzer,boostMap);
		Query query = queryParser.parse(queryString);

		// 进行查询
		IndexSearcher indexSearcher = new IndexSearcher(indexPath);
		Filter filter = null;
		// 相当于一个List集合
		TopDocs topDocs = indexSearcher.search(query, filter, 10000);

		System.out.println("总共有[" + topDocs.totalHits + "]条匹配结果");

		// 打印结果
		for (ScoreDoc scoreDoc : topDocs.scoreDocs)
		{
			int docSn = scoreDoc.doc;// 文档内部编号
			Document doc = indexSearcher.doc(docSn); // 根据编号取出相应的文档
			File2DocumentUtils.printDocumentInfo(doc);

		}
		System.out.println("总共有[" + topDocs.totalHits + "]条匹配结果");
	}

 

分享到:
评论

相关推荐

    深入了解Lucene之三 排序算法.doc

    Lucene 排序算法是搜索引擎中的核心组件之一,负责将搜索结果按照相关度排序以便用户快速找到所需信息。 Lucene 的排序算法主要基于 tf-idf 模型,以下是 Lucene 排序算法的详细介绍: 1. tf(Term Frequency):...

    Lucene5学习之自定义排序

    首先,Lucene的核心功能之一就是提供高效的全文检索能力,但默认的搜索结果排序通常是基于相关度得分(Relevance Score),这是由TF-IDF算法计算得出的。然而,在实际应用中,我们往往需要根据其他因素(如时间、...

    SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎--data

    - **排序**:通过调整查询参数,可以基于文档的相关度、发布日期或其他自定义字段对结果进行排序。 - **分页**:为了提高用户体验,搜索引擎通常会限制每次返回的结果数量,实现分页展示,如每页10条记录。 - **...

    luceneDemo(完整代码)

    "luceneDemo(完整代码)"是一个实践项目,旨在帮助开发者深入理解Lucene的基础类运用、高亮器实现以及相关度排序等核心概念。 首先,我们来看看基础类的运用。在Lucene中,IndexWriter是创建和更新索引的主要类,...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-18.Lucene排序 共6页.pptx

    首先,Lucene的默认排序方式是基于文档得分,即通过TF-IDF(词频-逆文档频率)算法来评估文档与查询的相关度。TF(t in d)表示词条t在文档d中的出现次数,IDF(t)衡量的是词条t在整个文档集合中的稀有程度。同时,...

    Lucene3.0 使 用 教 程

    在Lucene中,英文搜索不区分大小写,且结果通常按照相关度排序。相比于传统的数据库SQL查询,全文检索具有更好的匹配效果、相关度排序以及更快的搜索速度,尤其适用于处理大量文本数据。 在Lucene的工作流程中,...

    Lucene技术文档doc

    4. **排序与高亮**:Lucene不仅可以返回匹配的文档,还能根据相关度进行排序,并对匹配的查询词汇进行高亮显示。 **三、Lucene的架构** Lucene主要由以下几个关键组件构成: 1. **索引器(Indexer)**:负责读取...

    搜索引擎开发现实文档(lucene)

    2. 相关度排序:Lucene 使用相关度排序公式对搜索结果进行排序。 3. VSM 和 BM25:VSM(Vector Space Model)和 BM25 是两种常用的相关度排序算法。 4. Lucene 优化:Lucene 优化是指对 Lucene 的配置和参数进行调整...

    lucene3源码分析

    - **相关性评分**:为了提供最相关的搜索结果,系统需要计算查询与文档的相关度。 ##### 2. 索引里面究竟存些什么? 索引是全文检索系统的核心组成部分,用于存储文档的关键信息以便快速访问。这些信息主要包括: ...

    Lucene搜索引擎

    Lucene的核心功能包括文档的索引、搜索以及结果的相关度排序。通过使用Lucene,开发者可以轻松地在应用程序中实现强大的搜索功能。 在文本框中输入关键字并点击“搜一下”按钮后,Lucene搜索引擎开始工作。这一过程...

    LUCENE的搜索引擎例子

    4. **搜索执行**:查询对象与索引进行匹配,Lucene会计算每个文档的相关度分数,并返回结果集。这里涉及到评分模型,如TF-IDF,BM25等。 5. **结果展示**:服务器将搜索结果返回给前端,前端通常会展示相关度最高的...

    基于Lucene的医疗搜索引擎排序算法的研究.rar

    因此,可能需要结合医学知识图谱,引入相关度更高的排序因子,如疾病的相关性、症状的严重程度等。此外,还可以考虑时间因素,将最新的研究成果优先展示。 再者,个性化搜索也是优化的关键点。用户的行为、地理位置...

    lucene全文搜索

    - 搜索结果按相关度排序,使最相关的文档出现在前面。 - 采用索引机制提高搜索速度。 - 在大数据量环境下表现更优。 #### 三、Lucene简介及其架构 1. **Lucene简介**: - Lucene是一款高性能、全功能的全文...

    lucene部分案例的源代码

    - 排序与评分:通过自定义ScoreDoc实现结果的定制排序,比如按相关度或时间降序排列。 3. lucene01 这个案例可能展示了Lucene的进阶功能,如: - 更新与删除:在索引中添加、更新或删除文档,保持数据的实时性。 ...

    汤阳光_Lucene3.0课程

    全文检索是针对文本内容的搜索技术,它创建索引以快速定位含有指定词汇的文本,不处理语义,搜索时不区分英文大小写,并且结果通常按相关度排序。 1. **全文检索基础** - 搜索功能无处不在,如Windows系统的文件...

    Lucene.Net2.9.1

    4. **结果排序**:支持基于评分、相关度、自定义排序函数等多种排序方式,以满足不同场景的需求。 5. **高亮显示**:能将搜索关键词在结果中高亮显示,提升用户体验。 6. **多语言支持**:Lucene.Net 支持多种语言的...

    lucene-4.3.1资源

    4. **评分与排序**:Lucene根据相关性对匹配的文档进行评分,并按照评分进行排序,返回最相关的搜索结果。 5. **结果展示**:最后,开发者需要处理返回的结果集,将其转化为用户友好的形式,如网页上的列表。 在...

Global site tag (gtag.js) - Google Analytics