search_request.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package types
  2. type SearchRequest struct {
  3. // 搜索的短语(必须是UTF-8格式),会被分词
  4. // 当值为空字符串时关键词会从下面的Tokens读入
  5. Text string
  6. // 关键词(必须是UTF-8格式),当Text不为空时优先使用Text
  7. // 通常你不需要自己指定关键词,除非你运行自己的分词程序
  8. Tokens []string
  9. // 文档标签(必须是UTF-8格式),标签不存在文档文本中,但也属于搜索键的一种
  10. Labels []string
  11. // 当不为nil时,仅从这些DocIds包含的键中搜索(忽略值)
  12. DocIds map[string]bool
  13. // 排序选项
  14. RankOptions *RankOptions
  15. // 超时,单位毫秒(千分之一秒)。此值小于等于零时不设超时。
  16. // 搜索超时的情况下仍有可能返回部分排序结果。
  17. Timeout int
  18. // 设为true时仅统计搜索到的文档个数,不返回具体的文档
  19. CountDocsOnly bool
  20. // 不排序,对于可在引擎外部(比如客户端)排序情况适用
  21. // 对返回文档很多的情况打开此选项可以有效节省时间
  22. Orderless bool
  23. }
  24. type RankOptions struct {
  25. // 文档的评分规则,值为nil时使用Engine初始化时设定的规则
  26. ScoringCriteria ScoringCriteria
  27. // 默认情况下(ReverseOrder=false)按照分数从大到小排序,否则从小到大排序
  28. ReverseOrder bool
  29. // 从第几条结果开始输出
  30. OutputOffset int
  31. // 最大输出的搜索结果数,为0时无限制
  32. MaxOutputs int
  33. }