做网站做百度竞价赚钱,营销网络推广哪家好,企业网站代运营,网络设计行业是干什么的Search your data
这里有两个比较有用的参数需要注意一下
Search timeout#xff1a;设置每个分片的搜索超时时间。从集群级别可以通过 search.default_search_timeout 来设置超时时间。如果在 search.default_search_timeout 设置的时间段内未完成搜索请求#xff0c;就会…Search your data
这里有两个比较有用的参数需要注意一下
Search timeout设置每个分片的搜索超时时间。从集群级别可以通过 search.default_search_timeout 来设置超时时间。如果在 search.default_search_timeout 设置的时间段内未完成搜索请求就会取消该任务。search.default_search_timeout 的默认值为 -1 表示无超时时间限制。
GET /my-index-000001/_search
{timeout: 2s,query: {match: {user.id: kimchy}}
}track_total_hits设置搜索过程中匹配文档的数量。如果需要匹配所有文档track_total_hits 设置为 true如果需要匹配的文档为 1000 条则 track_total_hits 设置为 1000。数据量大时 track_total_hits 设置为 true 会拖慢查询速度。
GET my-index-000001/_search
{track_total_hits: true,query: {match : {user.id : elkbee}}
}注意 这强调一下 Response 中的 took。took 代表处理该请求所耗费的毫秒数。从节点收到查询后开始到返回客户端之前包括在线程池中等待、在集群中执行分布式搜索和收集、排序所有结果所花费的时间。
一、Collapse search results
没看懂有啥用呢。。。考完试再研究
二、Filter search results
post_filterfilter 过滤会将符合条件的文档留下之后进行 聚合而 post_filter 是在聚合后过滤结果不影响聚合结果。
# 创建索引添加数据
PUT /shirts
{mappings: {properties: {brand: { type: keyword},color: { type: keyword},model: { type: keyword}}}
}POST /shirts/_bulk
{index:{}}
{brand: gucci, color: red, model: slim}
{index:{}}
{brand: gucci, color: back, model: slim}
{index:{}}
{brand: gucci, color: back, model: large}直接使用 filter
GET /shirts/_search
{query: {bool: {filter: [{ term: { color: red }},{ term: { brand: gucci }}]}},aggs: {models: {terms: { field: model } }}
}使用 post_filter
GET /shirts/_search
{post_filter: {bool: {filter: [{ term: { color: red }},{ term: { brand: gucci }}]}}, aggs: {models: {terms: { field: model } }}
} rescore对每个分片的查询结果的前 window_size 个文档重新评分。
POST /_search
{query : {match : {message : {operator : or,query : the quick brown}}},rescore : {window_size : 50,query : {rescore_query : {match_phrase : {message : {query : the quick brown,slop : 2}}},query_weight : 0.7,rescore_query_weight : 1.2}}
}三、Highlighting
从搜索结果中的一个或多个字段中获取高亮片段并高亮显示便于显示查询匹配的位置。 简单一点
GET my_index/_search
{query: {match: { my_text: GET }},highlight: {fields: {my_text: {pre_tags : [em], post_tags : [/em]}}}
}高亮显示可让您从搜索结果中的一个或多个字段中获取高亮片段以便向用户显示查询匹配的位置。
四、Long-running searches
五、Near real-time search
六、Paginate search results
主要描述分页查询和深度查询其中分页查询通过 from 和 size 来控制这里将不再赘述。深度查询这里主要通过 Point in time时间点 和 Scroll search滚动查询这两种方法来实现。文档中更推荐使用 Point in time 配合 search_after 来实现。
Point in time 配合 search_after 实现深度分页查询
# 创建时间点
POST /my-index-000001/_pit?keep_alive1m# Response
{id : 8_LoAwEXa2liYW5hX3NhbXBsZV9kYXRhX2xvZ3MWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAWUmotTmxzRENUbXVCdGw0YVQyUGJPZwAAAAAAAAAEmBZBYjhlejFTQ1MxaWZLS1VST05NZnhBAAEWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAA
}# 利用
GET /_search
{size: 10,query: {term: {tags.keyword: {value: success}}},pit: {id: 8_LoAwEXa2liYW5hX3NhbXBsZV9kYXRhX2xvZ3MWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAWeGZPTXRkbS1UX3lkd1ZsVzloVnlnZwAAAAAAAAAAfRZGSWlyWklWMlRsT05URnFocm9fakVBAAEWTThSb1hDMUpSZS1EWnBuSjNtWG1sZwAA, keep_alive: 1m},sort: [ {timestamp: {order: asc, format: strict_date_optional_time_nanos, numeric_type : date_nanos }}]
}Scroll search滚动查询实现深度分页查询
# 创建一个滚动查询
POST /kibana_sample_data_logs/_search?scroll1m
{size: 100,slice: {id: 0,max: 2},query: {match: {agent: Mozilla}}
}# Response
{_scroll_id : FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFkFiOGV6MVNDUzFpZktLVVJPTk1meEEAAAAAAAAE6hZSai1ObHNEQ1RtdUJ0bDRhVDJQYk9n,took : 5,timed_out : false...
}# 通过滚动查询实现深度分页查询
POST /_search/scroll
{scroll : 1m, scroll_id : FGluY2x1ZGVfY29udGV4dF91dWlkDXF1ZXJ5QW5kRmV0Y2gBFkFiOGV6MVNDUzFpZktLVVJPTk1meEEAAAAAAAAE6hZSai1ObHNEQ1RtdUJ0bDRhVDJQYk9n
}七、Retrieve inner hits
八、Retrieve selected fields
九、Search across clusters
十、Search multiple data streams and indices
十一、Search shard routing
十二、Search templates
十三、Sort search results
对返回的结果排序。这里需要注意的是_score 和 _doc 和 sort 中的被排序的字段的优先级一样按照在 sort 中的排列顺序来排序。_score 表示文档的相似度得分_doc 表示 _doc 的写入顺序。
GET /my_index/_search
{sort : [{ timestamp : {order : asc, format: strict_date_optional_time_nanos}},{ my_other_field : desc },{ my_field: desc },_score,_doc]
}也支持对 数组类型的字段进行排序通过 mode 来选择数组中的值。
十四、kNN search