`

Lucene升序降序排序

 
阅读更多
/**
	 * 搜索
	 */
	@Test
	public void search() throws Exception
	{
		String queryString = "笑话";

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

		// 进行查询
		IndexSearcher indexSearcher = new IndexSearcher(indexPath);
		Filter filter = null;
		//
		//Sort sort = new Sort(new SortField[]{new SortField("path")}); //升序
		Sort sort = new Sort(new SortField[]{new SortField("path", true)}); // 降序
		// 相当于一个List集合
		TopDocs topDocs = indexSearcher.search(query, filter, 10000,sort);

		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排序、设置权重、优化、分布式搜索.pdf

    Lucene 提供了多种排序方式,包括升序和降序排序。可以使用 Sort 对象来指定排序字段和排序方式。 例如,下面的代码演示如何使用 Lucene 对搜索结果进行排序: ```csharp Sort sort = new Sort(new SortField(...

    Lucene5学习之排序-Sort

    1. **排序基础**:首先,我们需要了解在Lucene中,排序是通过`Sort`类实现的,它可以按照多个字段进行排序,并且可以设定升序或降序。 2. **相关性排序**:默认情况下,Lucene使用TF-IDF算法计算文档的相关性分数,...

    Lucene5学习之自定义排序

    我们可以通过创建`SortField`对象来指定排序依据的字段和排序方式(升序或降序)。 例如,如果你有一个包含产品信息的索引,并希望按照价格进行排序,你可以这样做: ```java SortField priceField = new ...

    Lucene-2.0学习文档

    `MySortComparatorSource.java`可能是用户自定义的排序比较器源,它可以实现特定的排序逻辑,比如根据某个字段的值进行升序或降序排序,或者结合多个字段进行复合排序。 结合以上文件,我们可以看到Lucene-2.0的...

    lucene 4.7.2 Demo

    评分通常基于TF-IDF算法,而字段排序则允许用户根据特定字段的值进行升序或降序排列。 高亮显示则是为了提高用户体验,它可以在搜索结果中突出显示匹配的关键词。Lucene的Highlighter类可以做到这一点,它使用...

    lucene 权重设置

    你可以设置`SortField`来指定一个或多个字段进行排序,如`SortField(int, SortField.Type, boolean ascending)`,其中`fieldName`是字段名,`Type`是排序类型(如整型、浮点型等),`ascending`表示升序还是降序。...

    【分享:lucene学习资料】---<下载不扣分,回帖加1分,欢迎下载,童叟无欺>

    5.3.1. 按照文档的得分降序排序 15 5.3.2. 按文档的内部ID升序排序 15 5.3.3. 按照一个Field来排序 15 5.3.4. 按照多个Field来排序 15 5.3.5. 改变SortField中的Locale信息 15 6. 过滤器 16 7. 分析器Analysis 16 ...

    Lucene的应用

    排序可以通过指定排序字段和排序方式(升序或降序)来进行。此外,还可以通过自定义Comparator来实现更复杂的排序逻辑。 #### 过滤 过滤(Filtering)是索引检索过程中的一项重要功能,用于进一步筛选搜索结果。与...

    JAVA 注册界面连数据库+集合排序

    排序可以基于特定的标准,比如按用户名或注册时间升序或降序排列。 在描述中提到的“集合排序编程”,意味着在处理用户注册信息时,可能需要对这些信息进行某种形式的排序,例如在显示所有用户或执行某些分析时。这...

    solr入门指南

    - 查询结果可以按照指定字段进行升序或降序排序。 - 排序可以增强用户体验,帮助用户快速找到所需的信息。 #### 七、高亮显示(Highlighting) - Solr 支持对查询结果中的匹配文本进行高亮显示,便于用户快速...

    Apache Solr(solr-7.7.3.zip)

    - **结果排序(Sorting)**: 用户可以通过指定 `sort` 参数来改变搜索结果的排序方式,例如按照某个字段的值进行升序或降序排序。 **4. 高级特性** - **分面搜索(Faceting)**: 分面搜索允许用户在搜索结果中查看...

    Elasticsearch顶尖高手系列课程-核心知识篇+高手进阶篇(免费无加密)

    - **排序**:支持按照字段进行升序或降序排序。 ### 高手进阶篇 #### 1. 分布式架构 - **节点(Node)**:构成Elasticsearch集群的基本单元,每个节点可以运行在一台独立的服务器上。 - **主节点(Master Node)**:...

    solr实现京东搜索

    同时,Solr还提供了排序功能,允许用户按价格升序或降序排列搜索结果。这通常通过“sort”参数实现,如“price asc”或“price desc”。 四、分页 在大量商品数据中,分页是必不可少的。Solr的“start”和“rows”...

    Elasticsearch全文检索

    排序可以通过` SortBuilders `构建,可以根据字段值进行升序或降序排列。 ### 高级特性 除了基础操作,Elasticsearch还提供许多高级特性,如聚合分析(Aggregations)用于统计分析,脚本字段(Script Fields)用于...

    开源企业搜索引擎SOLR的应用教程

    - **排序**:可以根据不同字段进行升序或降序排序。 - **字段增加权重**:通过调整不同字段的权重,可以优化搜索结果的相关性。 - **Solr分词器、过滤器、分析器**:这些组件负责将文本分解成可索引的形式。 - **...

    solr基本总结

    - **sort**:定义排序规则,例如 `sort=inStock desc,price asc` 表示按 `inStock` 字段降序排列,然后按 `price` 字段升序排列。 - **wt**:指定输出格式,例如 XML、JSON、PHP 等。 ##### 4.2 不常用查询参数 - *...

    1.3、索引库使用的增删改查,以及数据库的连接导入1

    - **Sort(排序条件)**:设定排序依据,可以是升序或降序,多个条件用逗号分隔。 - **start, rows(分页处理)**:类似SQL的OFFSET和LIMIT,控制返回结果的数量和起始位置。 - **Fl(返回结果中的域列表)**:...

Global site tag (gtag.js) - Google Analytics