`
jeafyezheng
  • 浏览: 101273 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

lucene默认排序修改--如何让先索引的排在后面(相似度一样时)

阅读更多
Lucene的搜索结果默认按相关度排序,这个相关度排序是基于内部的Score和DocID,Score又基于 关键词的内部评分和做索引时的boost。默认Score高的排前面,如果Score一样,再按索引顺序,先索引的排前面。那么如果我要先索引 的排后面怎么办呢?
只要构造一个SortField[]就可以实现我们要的功能
  • // 评分降序,评分一样时后索引的排前面   
  • new SortField[] { SortField.FIELD_SCORE, new SortField(null, SortField.DOC, true) }   
  •   
  • // 评分升序,评分一样时后索引的排前面,呵呵,此为最不相关的排前面
  • new SortField[] { new SortField(null, SortField.SCORE, true), new SortField(null, SortField.DOC, true) }
  • 分享到:
    评论

    相关推荐

      lucene开发部分例子

      在这个过程中,你会了解到如何创建Analyzer来处理中文分词,因为 Lucene 默认并不支持中文。例如,可以使用IK Analyzer、SmartCN Analyzer或jieba分词库来实现。此外,你还会学习到如何设计查询解析器,将用户的输入...

      lucene 全文检索系统 java源码 (信息检索技术)

      Lucene 是用 Java 编写的,它的核心功能包括分词、索引创建、查询解析、评分和结果排序。其工作流程主要包括以下步骤: - **索引创建**:对原始文本进行分析,将文本拆分成独立的词汇(称为“术语”或“token”),...

      lucene拼写纠错代码didyoumean

      - **排序建议**:Lucene会根据编辑距离等指标对建议进行排序,最接近的正确拼写排在前面。 - **应用DidYouMean**:在搜索结果中,可以显示“Did you mean...?”提示,推荐用户更正拼写。 3. **优化与扩展**: - ...

      Lucene5学习之拼音搜索

      1. **预处理**:在索引文档时,需要对文本进行预处理,将每个汉字转换为对应的拼音。这个过程通常通过调用第三方库完成,例如使用Pinyin4j库的`getHanyuPinyinStringArray()`方法。 2. **建立索引**:将得到的拼音...

      lucene评分公式详解

      本文将深入探讨Lucene的评分公式,理解其工作原理,并探讨如何通过自定义评分公式来影响搜索结果的排序。 首先,我们要了解Lucence默认的评分公式,这是TF-IDF(Term Frequency - Inverse Document Frequency)的...

      lucene 权重设置

      3. **排序(Sort)**:Lucene默认按照文档的得分进行排序,但也可以使用`Sort`工具自定义排序规则。例如,你可以设置`SortField`来指定一个或多个字段进行排序,如`SortField(int, SortField.Type, boolean ...

      lucene 自定义评分

      总之,Lucene 的自定义评分机制提供了一种强大的工具,让我们可以根据业务需求灵活调整搜索结果的排序。通过深入理解评分机制并有效地利用自定义评分,我们可以构建出更符合用户期望的搜索系统,提升用户体验。在...

      lucene基础资料

      删除文档时,会在索引中添加一个“删除标记”。 ### 七、分布式搜索 对于大规模数据,可以利用Solr或Elasticsearch这样的分布式搜索平台,它们基于Lucene构建,提供了集群部署、负载均衡和自动故障恢复等功能。 #...

      【java、lucene、python】互联网搜索引擎课程报告二:建立搜索引擎

      - **Luke**: 一个用于查看Lucene索引的工具,方便开发者检查索引的正确性和完整性。 #### 四、总结 通过本项目的实施,我们不仅实现了基本的文本搜索功能,还深入了解了如何利用Lucene构建高效稳定的搜索引擎系统...

      Lucene5学习之评分Scoring

      在Lucene 5版本中,对于搜索结果的排序和评分机制进行了优化,使得搜索体验更加精准。本文将深入探讨Lucene5中的评分(Scoring)机制,帮助读者理解如何通过源码分析和工具使用来提升搜索质量。 首先,我们需要了解...

      Mastering ElasticSearch 5.0

      - **背景**:在ElasticSearch 5.x中,Lucene默认使用的文本评分算法由TF-IDF变更为BM25。 - **BM25评分公式**: \[ score = IDF * \frac{tf}{k_1 + tf} \] 其中,\(tf\)表示词频,\(IDF\)表示逆文档频率,\(k_...

      ElasticSearch server

      - **变化**:自 Elasticsearch 7.x 开始,类型的概念被移除,每个索引仅有一个默认类型。 4. **节点与集群(Node and Cluster)** - **节点**:单个服务器实例。 - **集群**:一组节点组成的集合,共同维护数据...

      Python-Elasticsearch的高效嵌入向量相似打分插件

      但是,Lucene默认的评分机制主要基于TF-IDF(词频-逆文档频率),这在处理嵌入向量时可能并不理想。因此,这个插件的作用就是扩展Elasticsearch的功能,使其能够支持基于嵌入向量的相似度计算,从而提供更精确的搜索...

      Lucene:我试过Lucene

      例如,可以通过实现自定义的相似度算法来改变默认的搜索结果排序。 9. **实际应用**:Lucene被广泛应用于各种产品,如Elasticsearch、Solr等,以及许多企业级的信息检索系统。 10. **学习资源**:要深入学习Lucene...

      Mastering Elasticsearch(中文版).pdf

      - **文本解析过程**:在索引文档时,Lucene会进行一系列的文本解析操作,包括分词(Tokenization)、过滤(Filtering)等步骤。分词将文本拆分为更小的单元,过滤则进一步处理这些单元,例如去除停用词、转换大小写...

      垂直搜索-您不知道的秘密 -solr中国-风雨V1.1

      - **默认相似度算法**:如VSM(Vector Space Model)、BM25等,用于计算文档与查询之间的相关性。 ### 四、麻雀虽小五脏俱全 —— 垂直搜索引擎之架构篇 接下来的部分似乎被截断了,但从前面的内容来看,这一部分很...

      FuzzyQuery-Information-Retrieval:基于FuzzyQuery Lucene库的信息检索系统,Java实现

      在信息检索领域,FuzzyQuery 是一种非常重要的技术,它允许用户输入可能存在拼写错误或不精确的查询词,系统能够根据一定的相似度算法找出与查询词相近的文档。本项目"基于FuzzyQuery Lucene库的信息检索系统,Java...

      compass-reference.pdf

      相似度计算是衡量文档间相似程度的基础,影响搜索结果的相关性排序。 #### QueryParser 查询解析器用于将用户输入转换为Lucene可理解的查询语法,提高了查询的灵活性和准确性。 #### Index Structure 索引结构决定...

    Global site tag (gtag.js) - Google Analytics