更新时间:2020-12-07 14:36
query子句,是搜索语句中不可缺少的一部分。它表示在哪个索引字段下查询什么内容,并且可以指定多个查询条件及其之间的关系(AND \ OR \ ANDNOT \ RANK)。
例如可以将text
类型的title
和subject
2个字段组合在一起,创建共同的索引字段default
。此时通过对default
索引的查询,可以召回查询词命中了title
或者subject
原文的文档。
如果将 title
字段,单独建立索引 title_search
。那么在 title_search
索引做查询时,只有查询词命中了 title
这个字段的原文,才能召回该文档。
普通查询:index:'查询词'^boost
range查询: index:'circle(经度值 纬度值,半径值)'
range查询: index:[数值1,数值2]
exact_match_boost()
才能生效,该功能可选。()
、AND
、OR
、ANDNOT
、RANK
(必须大写)。RANK
<OR
<AND
<ANDNOT
<()
""
括起来进行查询,表示 phrase(短语)查询。即要求查询词分词后各个term的位置相连、顺序一致。TEXT
、SHORT_TEXT
类型的字段,可以建立组合索引。
query=title:'北京大学'
query=title:'北京大学' AND title:'浙江大学'
query=(title:'北京大学' OR title:'浙江大学') AND type:'1'
query=title:'北京大学'|'浙江大学'
query=(title:'北京大学' ANDNOT title:'清华') RANK title:'校长'
// 精排表达式为:text_relevance(title)
查询title索引字段中包含北京大学的文档,要求北京大学不能分开,不希望返回类似“北京的大学”的文档:
query=title:"北京大学"
数组类型搜索:
//假设有一个int arr类型字段,设置为索引arr_index_1
//表示数组元素有值为1记录就会被召回
query=arr_index_1:'1'
在文档使用中是否遇到以下问题
更多建议
匿名提交