小编Gra*_*bot的帖子

Elasticsearch - 在没有特定字段的情况下对文档进行负面推动

我正在进行查询,基本过滤的多重匹配查询按计划工作,它返回我想要的文档.

问题是想要提升具有某个字符串字段的结果.0.5,或者在这个例子中给出没有该字段'traded_as'的结果为负增益1.0.

无法获得过滤器 - 提升 - 必须 - 存在/缺失按我的意愿工作.

这是解决这个问题的正确方法吗?

使用elasticsearch 1.5.2

{
"query": {
    "filtered": {
        "query": {
           "multi_match": {
               "query": "something",
               "fields": ["title", "url", "description"]
           }
        },
        "filter": {
           "bool": {
                "must": {
                    "missing": {
                        "field": "marked_for_deletion"
                    }
                }
            }
        }
    }
},
"boosting": {
    "positive": {
        "filter": {
            "bool": {
                "must": {
                    "exists": {
                        "field": "traded_as"                            
                    }
                }
            }
        }
    },
    "negative": {
        "filter": {
           "bool": {
                "must": {
                    "missing": {
                        "field": "traded_as"
                    }
                }
            }
        } …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

7
推荐指数
1
解决办法
3930
查看次数

Solr Index时间提升VS查询时间提升?

问题1:我们可以仅在不提及索引时的提升值的情况下进行查询时间提升(使用dismax)吗?

问题2:使用查询时间提升进行索引时间提升有哪些优点/缺点,反之亦然.

查询时间和索引时间提升:

在索引时,您可以选择提升特定文档(完全或仅仅是字段).这在内部存储为规范编号的一部分,必须启用该编号才能使其生效.执行索引时间提升并不常见.在查询时,我们先前已经描述了如何在需要时提高或降低查询的特定子句.稍后将演示强大的Disjunction-Max(简称dismax)查询,它可以自动将搜索应用于具有不同提升级别的多个字段.

- "Solr 1.4企业级搜索服务器"一书第4章的图表

indexing solr

5
推荐指数
1
解决办法
2753
查看次数

基于布尔字段值提升弹性搜索

嗨,我是弹性搜索的新手,我要根据布尔值提示尝试提升.

我有一个文章列表,我想得到所有文章里面的标题"louvre".

并在非活动文章之前提升活动文章.我仍然希望能够看到活动和非活动文章.但在列表的顶部是活跃的.

这是我到目前为止所得到的:

 {
  "query": {
    "multi_match" : {
      "query":    "louvre",
      "fields": [  "title", "isActive(true)^3", "isActive(false)^2" ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

json boolean elasticsearch

1
推荐指数
1
解决办法
698
查看次数

标签 统计

elasticsearch ×2

boolean ×1

indexing ×1

json ×1

solr ×1