• 排名插件
Ranker 插件允许您实现自定义的排序器,该排序器会接收在文档中匹配到的所有关键字出现次数,并计算出 WEIGHT() 值。可以通过以下方式调用:
SELECT id, attr1 FROM test WHERE match('hello') OPTION ranker=myranker('option1=1');调用流程如下:
在每次查询的每个表开始时,会调用
XXX_init(),并通过SPH_RANKER_INIT结构传递多个查询级别的选项,包括用户的选项字符串(例如上述例子中的 "option1=1")。对于每个匹配的文档,
XXX_update()会被多次调用,并以SPH_RANKER_HIT结构的形式传递每个匹配的关键字出现。保证每个文档内的出现按hit->hit_pos值的升序传递。当文档中没有更多的关键字出现时,会调用
XXX_finalize(),它必须返回WEIGHT()值。此函数是唯一必须实现的函数。在查询结束时,会调用
XXX_deinit()。
最后更新于