package types

type SearchRequest struct {
    // 搜索的短语(必须是UTF-8格式),会被分词
    // 当值为空字符串时关键词会从下面的Tokens读入
    Text string

    // 关键词(必须是UTF-8格式),当Text不为空时优先使用Text
    // 通常你不需要自己指定关键词,除非你运行自己的分词程序
    Tokens []string

    // 文档标签(必须是UTF-8格式),标签不存在文档文本中,但也属于搜索键的一种
    Labels []string

    // 当不为nil时,仅从这些DocIds包含的键中搜索(忽略值)
    DocIds map[uint64]bool

    // 排序选项
    RankOptions *RankOptions

    // 超时,单位毫秒(千分之一秒)。此值小于等于零时不设超时。
    // 搜索超时的情况下仍有可能返回部分排序结果。
    Timeout int

    // 设为true时仅统计搜索到的文档个数,不返回具体的文档
    CountDocsOnly bool

    // 不排序,对于可在引擎外部(比如客户端)排序情况适用
    // 对返回文档很多的情况打开此选项可以有效节省时间
    Orderless bool
}

type RankOptions struct {
    // 文档的评分规则,值为nil时使用Engine初始化时设定的规则
    ScoringCriteria ScoringCriteria

    // 默认情况下(ReverseOrder=false)按照分数从大到小排序,否则从小到大排序
    ReverseOrder bool

    // 从第几条结果开始输出
    OutputOffset int

    // 最大输出的搜索结果数,为0时无限制
    MaxOutputs int
}

search_request.go的更多相关文章

  1. 熬夜之作:一文带你了解Cat分布式监控

    Cat 是什么? CAT(Central Application Tracking)是基于 Java 开发的实时应用监控平台,包括实时应用监控,业务监控. CAT 作为服务端项目基础组件,提供了 Ja ...

  2. Python使用Protobuf&&如何赋值&&如何正反序列化

    前言 使用protobuf主要是两个步骤,序列化和反序列化. 关于Proto有哪些数据类型,然后如何编写,此处就不赘述了,百度一下有很多. 此文主要是总结,python使用protobuf的过程,如何 ...

  3. 通过JS逆向ProtoBuf 反反爬思路分享

    前言 本文意在记录,在爬虫过程中,我首次遇到Protobuf时的一系列问题和解决问题的思路. 文章编写遵循当时工作的思路,优点:非常详细,缺点:文字冗长,描述不准确 protobuf用在前后端传输,在 ...

随机推荐

  1. 二叉树的序列化和反序列化(Java)

    请实现两个函数,分别用来序列化和反序列化二叉树 序列化就是将二叉树以字符串输出,反序列化:根据自己输出的字符串,构建二叉树. 这里先序遍历输出,且为了方便反序列化,各个节点","隔 ...

  2. CSDN的博客搜索功能不又给力了呵呵呵呵

    不得不说,CSDN博客的搜索功能是在太弱了.而且一直都很弱,以至于我每次想在自己博客上找自己发的文章都变得那么难.做一个搜索博客内文章的功能没有那么难吧? 还是说CSDN已经放弃了博客这一块了? 我发 ...

  3. OSGI介绍

    OSGI介绍 OSGI简介 OSGI (Open Service Gateway Initiative)联盟成立于1999 年,它是一个非盈利的国际组织,旨在建立一个开放的服务规范,为通过网络向设备提 ...

  4. Javac的实现过程

    主要介绍Javac的实现过程及原理. 首先弄明白什么是Javac? Javac是一种编译器,将一种语言转换为另一种语言规范.编译器的作用就是将符合java语言规范的源代码转化为JVM虚拟机能够识别的字 ...

  5. JavaScript中将对象数组中的某个属性值,批量替换成另一个数值

    原文链接 https://segmentfault.com/q/1010000010352622 希望将下列数组中的sh替换成沪,sz替换成深 var stooges = [ {label:1,val ...

  6. Odoo 学习【一】http & rpc

    HTTP Odoo 中http类中的Root是wsgi应用的入口主程序. 入口,wsgi_server调用如下: def application(environ, start_response): i ...

  7. JavaScript要点汇总——The Most Important

    关于JavaScript的基础变量,运算符的详解以及基本的分支循环嵌套已经在 JS基础变量及JS中的运算符 JS中的循环分支嵌套 说过了,今天我们所说的是做网页中最长用到的东西.内容不算少,要有耐心, ...

  8. lvs与nginx区别

    lvs和nginx都可以用作多机负载方案,他们各有优缺点,在生产环境中需要好好分析实际情况并加以利用. 一.lvs的优势: 1.抗负载能力强,因为lvs工作方式的逻辑是非常简单的,而且工作再网络层第4 ...

  9. 在UltraEdit中如何像NotePad++一样实现双击单词在全文中高亮

    NotePad++中有个功能特别好用,就是双击某个单词,这个单词就会在全文档中高亮,如下图 我经常用UltraEdit,结果是UE中没有这个功能,这么实用的功能居然没有? 没关系,在UE中shift+ ...

  10. JAVA库函数总结【持续更新】

    生成随机数: Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值. Random rand = newRandom(); rand.nextInt( ...