我是elasticsearch的新手,在must和filter之间感到困惑。我想在条款之间执行and操作,所以我这样做了
开机自检/ xyz / _search
{
"query": {
"bool": {
"must": [
{
"term": {
"city": "city1"
}
},
{
"term": {
"saleType": "sale_type1"
}
}
]
}
}
}
这给了我所需的结果,既匹配了术语,又使用了像这样的过滤器
开机自检/ xyz / _search
{
"query": {
"bool": {
"must": [
{
"term": {
"city": "city1"
}
}
],
"filter": {
"term": {
"saleType": "sale_type1"
}
}
}
}
}
我得到相同的结果,所以什么时候应该使用must以及什么时候应该使用filter?有什么区别?
must
有助于得分。在中filter
,查询的分数将被忽略。
在must
和中filter
,子句(查询)必须出现在匹配的文档中。这就是获得相同结果的原因。
您可以检查此链接
得分
每个文档的相关性得分由正浮点数(称为)表示
_score
。越高_score
,文档越相关。
查询子句_score
为每个文档生成一个。
要知道如何计算分数,请参考此链接
发布/xyz/_search 我得到了相同的结果,那么什么时候应该使用must和什么时候应该使用filter呢?有什么区别?
我无法理解弹性搜索中的 Bool 筛选器和 And 筛选器之间的区别。 上下文:假设我的文档具有字段:X、Y、Z。 每个字段可以有多个值。 目标: 我想在以下意义上向弹性搜索发送一个查询:(X=value eX1 OR X=value eX2)AND(Y=value eY1 OR Y=value eY2 OR…)AND(Z=value eZ1 OR Z=value eZ2 OR……) 尝试: 我是
本文向大家介绍jQuery中的Grep和Filter有什么区别?,包括了jQuery中的Grep和Filter有什么区别?的使用技巧和注意事项,需要的朋友参考一下 该方法找到一个元素,然后该方法返回匹配特定条件的元素。 jQuery grep函数 示例 该函数用于查找数组的元素。您可以尝试运行以下代码以了解如何使用, jQuery过滤器功能 jQuery方法将返回与特定条件匹配的元素。 示例 您可
问题内容: 我知道ElasticSearch是基于Apache Lucene构建的,但是我想知道两者之间的显着差异。 问题答案: Lucene是一个 Java库 。您可以将其包含在项目中,并使用函数调用来引用其功能。 Elasticsearch是一个 JSON 基于, 分布式 , 网络服务器 建在Lucene的。尽管是Lucene在做下面的实际工作,但是Elasticsearch为我们提供了一个在
问题内容: 拥有所有领域的两者之间的区别使我难以理解。 如果我的文件有: 我知道这是一个包含所有字段的字段。但是呢?这是否意味着“名称”被保存了几次(在中和两次),从而增加了文档占用的磁盘空间? 一次存储的领域,曾经为“名” ,并一次?关于“数字”,什么是它存储在,即使没有? 什么时候应该在查询中使用? 我可以禁用的用例是什么,然后将拒绝使用什么功能? 问题答案: 它与lucene中的索引字段和存
解决编码问题的方法可能有很多: > 编码过滤器,如Spring MVC UTF-8编码 在Tomcat的server.xml中设置uriencoding=utf8,如http://struts.apache.org/release/2.1.x/docs/how-to-support-utf-8-uriencoding-with-tomcat.html。 它的输出是相同的。所以实际上,路径变量是用I