设计开发网站,顺企网贵阳网站建设,金科做的网站,wordpress照片模板random_score的使用
在Elasticsearch中#xff0c;random_score查询可以用来随机排序搜索结果#xff0c;这对于实现诸如轮播、随机推荐等功能非常有用。
random_score的语法
GET /索引名/_search
{query: {function_score: {query…random_score的使用
在Elasticsearch中random_score查询可以用来随机排序搜索结果这对于实现诸如轮播、随机推荐等功能非常有用。
random_score的语法
GET /索引名/_search
{query: {function_score: {query: { match_all: {} }, // 或者你的查询条件random_score: {seed: 12345 // 设置一个种子值相同的种子值会产生相同的随机顺序}}}
}random_score案例
场景
假设我们有一个商品索引我们需要随机获取商品
索引创建
PUT /products
{mappings: {properties: {product_id: {type: keyword},category: {type: keyword}}}
}文档插入
POST /products/_doc/
{product_id: prod1,category: electronics
}POST /products/_doc/
{product_id: prod2,category: clothing
}POST /products/_doc/
{product_id: prod10,category: books
}
查询
如果你想每次查询都得到相同的随机顺序可以指定一个种子值
GET /products/_search
{query: {function_score: {query: { match_all: {} }, // 或者使用具体的查询条件random_score: {seed: 12345}}}
}不指定种子值:
GET /products/_search
{query: {function_score: {query: { match_all: {} }, // 或者使用具体的查询条件random_score: {}}}
}