在SearchModule模块中,主要涵盖了search
性能相关的依赖注入。
configureSearch
主要是seach type,search过程一般有两步,首先search带回<_id, _score>,然后fetch带回<_id, _source>。
默认是query_then_fetch
,shard级别的排序;可以设置为dfs_query_then_fetch
,cluster级别的全局排序。它们之间的差异可以参见esCn的柠檬排序。
configureAggs
在此配置聚合操作,如SUM,AVG,MIN,MAX,直方图分布等。
在static块上面,进行了es aggregation的三种类型(metrics, bucket, pipeline)注册。
static的三种aggs注册configureFunctionScore
配置自定义排序函数,具体函数使用方法可以参考前文-elasticsearch relevance scoring 检索相关性计算。
ScoreFunctionParser的具体实现类configureFetchSubPhase
在此注入一些额外信息,比如explain, version, highlight等。
others
网友评论