当需要将term的权重存储到索引中时,需要保存成payload的格式:
源代码:https://github.com/limingnihao/elasticsearch-reference/tree/master/Examples
官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.10/analysis-delimited-payload-tokenfilter.html
类似于:
the|0 brown|3 fox|4 is|0 quick|10
查询的时候,如果需要用到保存好的value,则需要lucene 的PayloadScoreQuery或者PayloadCheckQuery。
PayloadScoreQuery:
首先查看下lucene的PayloadScoreQuery的构造方法:
/**
* Creates a new PayloadScoreQuery
* @param wrappedQuery the query to wrap
* @param function a PayloadFunction to use to modify the scores
* @param decoder a PayloadDecoder to convert payloads into float values
* @param includeSpanScore include both span score and payload score in the scoring algorithm

本文介绍了如何开发Elasticsearch的payload_score查询插件,详细讲解了PayloadScoreQuery、PayloadScoreQParserPlugin和PayloadScoreQueryBuilder的实现过程,包括从XContent解析参数和构造PayloadScoreQuery的方法,并提供了执行示例。
最低0.47元/天 解锁文章
1869





