当前位置: 首页 > 知识库问答 >
问题:

spring数据弹性搜索与const_分数

贺彬
2023-03-14

我需要运行以下查询:

GET seg/seg/_search
{
    "query": {
        "constant_score": {
            "filter": {
                "exists": {
                    "field": "iseg"
                }
            },
                "boost": 1.2
        }
    }
}

但我不能用spring data elasticsearch轻松运行这个。

  1. 有什么办法吗
  2. spring data elasticsearch是否很好地支持所有elasticsearch查询DSL

共有1个答案

慕铭
2023-03-14

1) 对

使用模板:

    SearchQuery searchQuery = new NativeSearchQueryBuilder()
            .withQuery(constantScoreQuery(existsFilter("iseg")).boost(1.2f))
            .withIndices("seg")
            .withTypes("seg")
            .build();
    // when
    Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForList(searchQuery, SampleEntity.class);

从TemplateTest类复制和修改的代码

使用存储库:

   SearchQuery searchQuery = new NativeSearchQueryBuilder()
            .withQuery(constantScoreQuery(existsFilter("iseg")).boost(1.2f))
            .withIndices("seg")
            .withTypes("seg")
            .build();
    // when
    Page<SampleEntity> page = repository.search(query);

从RepositoryTest Class复制和修改的代码

2)是Spring Data Elasticsearch使用QueryBuilder接口处理elasticsearch部分的所有查询DSL请求

 类似资料:
  • 升级到Spring boot 2.3和Spring data elasticsearch 4.0.9后的问题。我有这样的文档: 这在spring data 3.0中与Jackson配合得很好,但升级到4.0后,Jackson不再可用,现在我收到了一个来自spring的实例化异常,无法实例化URL对象。 例外情况: 任何关于解决方案的想法都将受到赞赏。

  • 我可以搜索正常的查询。包含来自elasticsearch uri search的字段值或排序,但无法运行uri search的术语聚合查询。 我怎么能做到这一点? 术语聚合查询是: curl-u-elastic-XGET'127.0.0.1:9200/indexname/typename/\u搜索?pretty'-d'{“size”:0,aggs:{“groupu by_field”:{“term

  • 我用的是: 这些版本: Spring芯 4.3.7 Spring数据弹性搜索 3.0.9 发布 ES:“版本”:“6.3.0” 组织弹性搜索客户端:rest:5.5.0 和传输 5.5.0 Spring数据共享 1.12.8.发布 创建IAuditElasticRepository.java空接口: 创建了ch-elastic.xml配置: 在我的Manager类中自动安装它: 有一个名为ch-d

  • 我有一个设计糟糕的文档结构: 我想从上面的文档中检索标题、Fach和代码。 多谢了。

  • 我正在使用spring数据elasticsearch来执行CRUD操作。 我有一个扩展Elasticsearch chRepository的自定义存储库。 最终,ElasticsearchRepository扩展了CrudRepository,这意味着可以更新现有记录。 问题是,你是如何做到这一点的?我还没有找到一个名为“update()”的方法 我认为做以下事情会有用(代码从https://gi

  • 我已经能够通过使用cURL获得建议(参见代码块)。但是我需要在我的代码中这样做,这样我就可以使用我的自定义endpointTOMCAT_ROOT/suggest?q=el。如何使用Spring数据创建查询,以在Java代码中获得相同的结果。 我的es映射: 我的POJO: 我的问题是: 我的查询结果: