scala - elastic4s查询搜索功能得分

标签 scala elasticsearch elastic4s

如何使用客户端 elastic4s scala 创建查询?

我使用 marvel/sense 来调用

GET /business/_search
{
  "query": {
    "function_score": {
      "query": {
        "match": {
          "name": "my text"
        }
      },
      "script_score": {
        "script": "_score  +  log(doc['reviews'].value + 1 )",
        "lang": "groovy"
      }
    }
  },
  "facets": {
    "industry": {
      "terms": {
        "fields": ["type", "industry"]

      }
    }
  },
  "size": 10
}

但是我如何使用elastic4s创建查询?

最佳答案

您可以像这样执行函数分数查询:

val req = search in "marvel/sense" query {
 functionScoreQuery(matchQuery("name", "my_text")).scorers(
  scriptScore("_score  +  log(doc['reviews'].value + 1 )")
 )
}

然后当然按照 https://github.com/sksamuel/elastic4s/blob/master/guide/search.md 中的说明添加构面等

关于scala - elastic4s查询搜索功能得分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26889255/

相关文章:

scala - 什么是 `path.home` 变量以及如何设置它?

scala - 尽管失败,如何进行执行Future序列?

scala - ILoop 选项卡完成

scala - ProcessLogger,仅收集错误

Scala 转换为变量类型

mysql - 有没有办法将数据从 ldap 服务器传输到 MySQL(或 Elasticsearch)?

ruby-on-rails-3 - 在 Elasticsearch 中加入/拆分搜索词(使用轮胎)

ruby-on-rails - 如何专门使用 "Elasticsearch"gem 将 elasticsearch 与 rails 应用程序集成