大连鼎信网站建设公司地址,做的网站如何防止怕爬虫,江苏工程建设信息网站,jq 网站头部广告代码目录 一、全文检索查询
1、match查询
语法:
2、multi_match查询
语法:
3、match和mult_match的区别
二、精确查询
1、term查询#xff1a;
语法#xff1a;
2、range查询#xff1a;#xff08;范围查询#xff09;
语法#xff1a;
三、地理查询
1、geo_bou…目录 一、全文检索查询
1、match查询
语法:
2、multi_match查询
语法:
3、match和mult_match的区别
二、精确查询
1、term查询
语法
2、range查询范围查询
语法
三、地理查询
1、geo_bounding_box查询:
语法
2、geo_distance查询:
语法
四、复合查询
1、fuction score:
1词条频率
2TF-IDF算法
3BM25算法
2、总结
五、Function Score Query
1、bool查询 一、全文检索查询
1、match查询
全文检索查询的一种会对用户输入内容分词然后去倒排索引库检索。
语法:
GET /indexName/_search
{query: {match: {FIELD: TEXT}}
}
2、multi_match查询 与match查询类似只不过允许同时查询多个字段。
语法:
GET /indexName/_search
{query: {multi_match: {query: TEXT,fields: [FIELD1,FIELD2]}}
}
3、match和mult_match的区别
match:根据一个字段查询multi_match:根据多个字段查询参与查询字段越多查询性能越差
二、精确查询
精确查询一般是查找keyword、数值、日期、boolean等类型字段。所以不会对搜索条件分词。
1、term查询
根据词条精确匹配一般搜索keyword类型、数值类型、布尔类型、日期类型字段
value中的值要确保和文档中的一模一样。
语法
GET /indexName/_search
{query: {term: {FIELD: {value: VALUE}}}
}
2、range查询范围查询
根据数值范围查询可以是数值、日期的范围
gte表示范围下限lte表示范围上限
gt表示大于而不等于lt表示小于而不等于
语法
GET /indexName/_search
{query: {range: {FIELD: {gte: 10,lte: 20}}}
}
三、地理查询
1、geo_bounding_box查询:
查询geo_point值落在某个矩形范围的所有文档 语法
GET /indexName/_search
{query: {geo_bounding_box:{FIELD:{top_left:{lat:31.1,lon:121.5},bottom_right:{lat:30.9,lon:121.7}}}}
}
2、geo_distance查询:
查询到指定中心点小于某个距离值的所有文档 语法
GET /indexName/_search
{query: {geo_distance:{distance:15km,FIELD:31.21.121.5}}
}
四、复合查询
复合查询可以将其它简单查询组合起来实现更复杂的搜索逻辑。
1、fuction score:
算分函数查询可以控制文档相关性算分控制文档排名。
1词条频率 例子 “你你你你你是是是我我我我的的谁”一共有15个字。 “你”的频率是 ”是“的频率是 。 频率越高分数越高搜索结果越靠前。 2TF-IDF算法 例子 若我要搜索钢铁侠在搜索结果中一共有三个文档 《你是钢铁侠》 《我是钢铁下》 《都是钢铁虾》 其中”钢铁“出现了三次而文档个数是三次它的逆文档频率就是 0分数也就是0 所以”钢铁“就不代表权重了而”侠“字只出现了一次所以它的权重大此搜索结果也就靠前。 3BM25算法 BM25是一种用于信息检索的算法它是基于词频和文档长度的统计方法用于计算查询与文档之间的相关性得分。BM25算法是一种改进的TF-IDF算法它考虑了文档长度的影响以及对于一些高频词汇的惩罚。BM25算法的公式如下
score(D,Q) ∑(i1 to n) IDF(qi) * ((k1)*f(qi,D))/(f(qi,D)k*(1-bb*(|D|/avgdl)))
其中D表示文档Q表示查询qi表示查询中的第i个词f(qi,D)表示文档D中qi出现的频率|D|表示文档D的长度avgdl表示所有文档的平均长度IDF(qi)表示逆文档频率k和b是两个可调参数。
BM25算法的优点是可以处理长文档和短文档而且对于高频词汇的处理也比较合理。但是BM25算法的计算复杂度较高需要对所有文档进行扫描和计算因此在大规模数据集上的应用需要考虑效率问题。
2、总结 五、Function Score Query 1、bool查询
相关文章: