阅读435 返回首页    go 阿里云


查询query子句__搜索子句介绍_API参考手册_开放搜索-阿里云

子句说明

query子句是搜索语句中不可缺少的一部分,它表示在哪个索引字段下查询什么内容,并且可以指定多个查询条件及其之间的关系(ANDORANDNOTRANK)。例如可以将text类型的title和subject组合在一起共同建索引字段default,那么在default上查询时,包含在title或者subject中的关键词都可以找到该文档。有人可以将title字段单独建立索引title_search,那么在title_search上查询时,只有包含在title字段上的关键词才能找到该文档。

语法说明

查询条件格式: 索引字段:'关键词'^boost。表示在哪个索引字段包含的源字段上查找包含“关键词”的文档。

  • 索引字段为定义应用结构索引表时勾选可搜索,后面填写的索引到的字段;表示在哪个字段集合上进行查询;
  • 关键词即为要查询的内容。
  • boost,为要设置的关键词权重,类型为int,范围为[0,99],不设置默认为99。
  • 查询条件可以为多个,且支持关系为:()、AND、OR、ANDNOT、RANK。(必须为大写)
  • 索引字段:"关键词",如果使用双引号查询的话为phrase(短语)查询,即要求查询词分词后需要各个term的位置相连、顺序一致。

注意事项

  1. query子句为必选子句;
  2. 索引字段为定义应用结构索引表时勾选可搜索,后面填写的索引到的字段;
  3. 如果索引字段为空,则默认为default索引字段,如果该应用中没有default索引字段,则会直接报错无结果;
  4. 关键词查询必须用单(双)引号括起来,否则会导致报错无结果或者行为不可预期。
  5. 只有TEXT、MWS_TEXT、NWS_TEXT、SWS_TEXT类型的字段可以建立组合索引字段;
  6. boost值小于0则按照0计算,大于99按照99计算;
  7. 关于各种类型的搜索含义,请参见字段类型介绍。

示例

  1. 查询title索引字段中包含“北京大学”的文档;
    query=title:'北京大学'
    
  2. 查询title索引字段中包含“北京大学”的文档,并且包含“浙江大学”的文档;
    query=title:'北京大学' AND title:'浙江大学'
    
  3. 查询title索引字段中包含“北京大学”或者“浙江大学”,且type为“1”的文档;
    query=(title:'北京大学' OR title:'浙江大学') AND type:'1'
    
  4. 查询title索引字段中包含“北京大学”且不包含“清华”的文档,若title中包含“校长”则排序上排在前面;
    query=(title:'北京大学' ANDNOT title:'清华') RANK title:'校长'
    // 精排表达式为:text_relevance(title)
    
  5. 查询title索引字段中包含“北京大学”的文档,要求“北京大学”不能分开,不希望返回类似“北京的大学”的文档;
    query=title:"北京大学"
    

最后更新:2016-11-23 16:04:03

  上一篇:go 配置config子句__搜索子句介绍_API参考手册_开放搜索-阿里云
  下一篇:go 过滤filter子句__搜索子句介绍_API参考手册_开放搜索-阿里云