`
Tonyguxu
  • 浏览: 278451 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

lucene.search.Weight

 
阅读更多

org.apache.lucene.search 
Class Weight

java.lang.Object
  extended by org.apache.lucene.search.Weight
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
BooleanQuery.BooleanWeightConstantScoreQuery.ConstantWeightDisjunctionMaxQuery.DisjunctionMaxWeightSpanWeight

public abstract class Weight
extends Object
implements Serializable

Expert: Calculate query weights and build query scorers.

 

The purpose of Weight is to ensure searching does not modify a Query, so that a Query instance can be reused. 
Searcher dependent state of the query should reside in the Weight
IndexReader dependent state should reside in the Scorer.

 

Weight is used in the following way:

  1. Weight is constructed by a top-level query, given a Searcher (Query.createWeight(Searcher)).
  2. The sumOfSquaredWeights() method is called on the Weight to compute the query normalization factor Similarity.queryNorm(float) of the query clauses contained in the query.
  3. The query normalization factor is passed to normalize(float). At this point the weighting is complete.
  4. Scorer is constructed by scorer(IndexReader,boolean,boolean).



     
  • 大小: 16.9 KB
分享到:
评论

相关推荐

    lucene-搜索过程源码解析-1-Weight生成.txt

    float sum = weight.sumOfSquaredWeights(); // 计算平方权重之和 float norm = getSimilarity(searcher).queryNorm(sum); // 获取规范化因子 weight.normalize(norm); // 规范化 Weight 对象 return weight; //...

    lucene-2.3.2-src

    - `org.apache.lucene.search`:包含了搜索相关的类,如ScoreDoc、TopDocs、Weight等,负责执行查询和评分。 - `org.apache.lucene.analysis`:包含了分析器的相关实现,如StandardAnalyzer、SimpleAnalyzer等,...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-06.Lucene索引搜索 共13页.pptx

    - `search(Weight weight, Filter filter, int n, Sort sort)`: 类似上一个方法,但使用Weight对象。 4. **代码示例**: - 创建IndexSearcher实例通常需要一个IndexReader,可以从目录中打开,如`DirectoryReader...

    lucene4.4+elasticsearch源码

    《深入理解Lucene 4.4与Elasticsearch:源码剖析与实战探索》 Lucene和Elasticsearch是两个在信息检索和大数据分析领域中不可或缺的重要工具。Lucene作为一个高性能、全文本搜索库,提供了丰富的索引和搜索功能;而...

    lucene-4.10.3源码

    Lucene的核心组件包括索引(Index)、查询解析器(Query Parser)、搜索(Search)和文档处理(Document)。源码中,我们可以看到这些模块的具体实现: 1. 索引:索引是Lucene实现高效搜索的关键。在`src/core/org/...

    lucene.net2.9.4源码版

    2. **搜索**:`src/Lucene.Net/Search`目录包含了搜索相关的类,如`IndexSearcher`用于执行查询,`Query`表示查询语句,`Weight`和`Scorer`负责评分和匹配文档。 3. **分析**:`src/Lucene.Net/Analysis`目录下,`...

    lucene.net 2.9.1 源码

    4. 搜索(Search):使用Searcher执行查询,返回匹配的结果集。ScoreDoc表示每个匹配文档的评分,TopDocs则封装了匹配文档的总数和最高评分的文档。 5. 文档(Document):表示要索引的实体,由多个字段(Field)...

    lucene-2.9.0-src.tar.gz

    Lucene社区活跃,不断有新的改进和扩展,如Solr和Elasticsearch,它们基于Lucene提供更高级的服务,如分布式搜索、集群管理和数据分析。 总结,通过对“lucene-2.9.0-src.tar.gz”的研究,我们可以深入学习全文检索...

    lucene-sequence-diagram:lucene搜索端uml时序图,lucene源码解析

    query就是查询参数,weight即对查询参数赋予权重,比如查询title包含"lucene"的文章,则首先对"lucene"这个term赋予权重 1.1 对"lucene"这个term赋予权重,需要先从索引文件中读取"title"这个字段的倒排表信息,即图中

    Lucene5学习之评分Scoring

    在`org.apache.lucene.search`包下,`Similarity`类是评分的基础,提供了默认的TF-IDF实现。你可以根据需求自定义子类,覆盖其方法来改变评分行为。同时,`Weight`和`ScoreDoc`接口提供了关于查询和评分的具体实现...

    lucene-搜索过程源码解析-Score树

    根据权重对象`weight.scoresDocsOutOfOrder()`的结果,`TopScoreDocCollector`会决定创建`InOrderTopScoreDocCollector`还是`OutOfOrderTopScoreDocCollector`。前者假设文档得分按顺序排列,而后者则不作此假设,这...

    安装教程总结_Elasticsearch

    Elasticsearch与Solr都是基于Lucene的全文搜索引擎,但Elasticsearch在分布式处理和实时性上更胜一筹。相对于MongoDB这样的NoSQL数据库,Elasticsearch更专注于搜索和分析功能,而在存储大量结构化数据方面,数据库...

Global site tag (gtag.js) - Google Analytics