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 IO学习--(三)通道

    Java IO中的管道为运行在同一个JVM中的两个线程提供了通信的能力.所以管道也可以作为数据源以及目标媒介. 你不能利用管道与不同的JVM中的线程通信(不同的进程).在概念上,Java的管道不同于U ...

  2. Unknown entity: org.jbpm.services.task.audit.TaskEventImpl

    1. use this persistence.xml - simply copy it into src/main/resources/META-INF please note the name o ...

  3. sublime中安装sublimecodeintel插件

    本文是基于在Windows上对sublime进行相关配置. 1.安装sublime,在官网http://www.sublimetext.com/3. 如果是在Linux系统上安装只需要输入命令直接安装 ...

  4. Python中urllib.urlencode中文字符的一个问题

    Django项目在访问Restful service时调用urllib.urlencode编码中文字符串时碰到下面这个错误. v = quote_plus(str(v)) UnicodeEncodeE ...

  5. C# 固定大小的缓存

    有时候需要把最新的N条记录暂时存起来供需要的时候调用,C#有没有指针,怎么办呢咱利用数组和byte字节整一个类 public class Buffer<T> { private T[] _ ...

  6. PyQt5实现界面跳转

    网上关于PyQt5的教程很少,特别是界面跳转这一块儿,自己研究了半天,下来和大家分享一下 一.首先是主界面 1 # -*- coding: utf-8 -*- # Form implementatio ...

  7. 我写的python代码的规则

    1.Python文件的命名: 采用每个单词的首字母大写,不使用下划线 2.Python类的命名: 采用每个单词的首字母大写,不使用下划线 3.Python包名的命名:采用每个单词都是小写,不使用下划线 ...

  8. SpringBoot Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback.

    使用SpringBoot写HelloWorld,当配置好启动类后,再创建新的controller或其它类,启动项目后访问对应的映射名,页面显示: Whitelabel Error Page This ...

  9. 详解CSS选择器、优先级与匹配原理【转】

    作为一个Web开发者,掌握必要的前台技术也是很重要的,特别是在遇到一些实际问题的时候.这里给大家列举一个例子: 给一个p标签增加一个类(class),可是执行后该class中的有些属性并没有起作用.通 ...

  10. Java反射-修改private final成员变量值,你知道多少?

    大家都知道使用java反射可以在运行时动态改变对象的行为,甚至是private final的成员变量,但并不是所有情况下,都可以修改成员变量.今天就举几个小例子说明.  基本数据类型 String类型 ...