zoukankan      html  css  js  c++  java
  • ranker_worker.go

    package engine

    import (
        "github.com/huichen/wukong/types"
    )

    type rankerAddDocRequest struct {
        docId  uint64
        fields interface{}
    }

    type rankerRankRequest struct {
        docs                []types.IndexedDocument
        options             types.RankOptions
        rankerReturnChannel chan rankerReturnRequest
        countDocsOnly       bool
    }

    type rankerReturnRequest struct {
        docs    types.ScoredDocuments
        numDocs int
    }

    type rankerRemoveDocRequest struct {
        docId uint64
    }

    func (engine *Engine) rankerAddDocWorker(shard int) {
        for {
            request := <-engine.rankerAddDocChannels[shard]
            engine.rankers[shard].AddDoc(request.docId, request.fields)
        }
    }

    func (engine *Engine) rankerRankWorker(shard int) {
        for {
            request := <-engine.rankerRankChannels[shard]
            if request.options.MaxOutputs != 0 {
                request.options.MaxOutputs += request.options.OutputOffset
            }
            request.options.OutputOffset = 0
            outputDocs, numDocs := engine.rankers[shard].Rank(request.docs, request.options, request.countDocsOnly)
            request.rankerReturnChannel <- rankerReturnRequest{docs: outputDocs, numDocs: numDocs}
        }
    }

    func (engine *Engine) rankerRemoveDocWorker(shard int) {
        for {
            request := <-engine.rankerRemoveDocChannels[shard]
            engine.rankers[shard].RemoveDoc(request.docId)
        }
    }

  • 相关阅读:
    TS
    多点触摸的操作与图片放大缩小
    动画 -- 按钮 -- 左右晃动
    动画 -- 按钮 --- 从无到有(中心)
    动画 -- 点击按钮 -- 向右下方移动
    动画 -- 点击按钮 -- 顺时针旋转一圈
    动画 -- 点击按钮
    动画 -- ListView列表item逐个出来(从无到有)
    动画 --- 添加 和 移除 按钮
    动画-- 按钮按序列(从小到大)显示
  • 原文地址:https://www.cnblogs.com/zhangboyu/p/7461676.html
Copyright © 2011-2022 走看看