【问题标题】:FindAllByColumn(List<String> columnValues) in ElasticsearchRepository is not workingElasticsearchRepository 中的 FindAllByColumn(List<String> columnValues) 不起作用
【发布时间】:2020-08-26 17:41:33
【问题描述】:

我已将 SpringBoot 连接到在 docker 下运行的弹性搜索。 在 ElasticsearchRepository 中

  • findAllById(Iterable&lt;BigInteger&gt; ids) 工作正常

  • findBySicCode(String sicCode)findAllBySicCode(string sicCode) 工作正常

    但是当我尝试时

  • findAllBySicCode(List&lt;String&gt; sicCodes) 正在给我 QueryShardException[Failed to parse query] parse_exception: Cannot parse '[13201]': Encountered ""]" "] "" at line 1, column.

这里 13201 我在列表中传递。

无法理解 ES 索引或我的代码有问题

【问题讨论】:

    标签: java spring-boot elasticsearch spring-data-jpa spring-data-elasticsearch


    【解决方案1】:

    试试看,findAllBySicCodeIn(List&lt;String&gt; sicCodes)

    这是一个关于https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation的不错的文档

    【讨论】:

      【解决方案2】:

      尝试: findAllBySicCodes(List&lt;String&gt; sicCodes).

      【讨论】:

      • 这不起作用!原因:org.springframework.data.mapping.PropertyReferenceException:找不到类型 ElasticCategory 的属性 sicCodes!您指的是“sicCode”吗?
      • 查询方法名称应与实体中的属性匹配。例如,如果你有这样的属性:List&lt;String&gt;sicCodes ,那么你的方法名查询应该是这样的:findAllBySicCodes(List&lt;String&gt; sicCodes)
      • 我知道但检查问题 findBySicCode(String sicCode) 和 findAllBySicCode(string sicCode) 如果这两个都在工作那么属性是 sicCode 但列出它不起作用这是问题我不知道是什么你解决了吗
      • 那么@shaunak 提出的解决方案应该可以工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 2021-09-17
      • 2020-03-10
      相关资源
      最近更新 更多