Hibernate Search查询类

史蒂芬(Stephan)

我正在使用休眠搜索4.4.0。我最近遇到了一个问题。

例如,我有2个类INDEXING和DATA_PROPERTY。其中2个之间没有关联。而且我无法更改它们或创建新的类来关联其中2个。

Lucene索引的一部分:

mapping.entity(DatatypeProperty.class).indexed().providedId()
       .property("rdfResource",ElementType.FIELD).field().analyze(Analyze.NO).store(Store.YES)
       .property("partitionValue", ElementType.FIELD).field().analyze(Analyze.NO)

mapping.entity(Indexing.class).indexed().providedId()
       .property("rdfResource",ElementType.FIELD).field().analyze(Analyze.NO).store(Store.YES)

现在在SQL中,我使用

SELECT IND.RDF_RESOURCE 
FROM INDEXING IND, DATA_PROPERTY DP
WHERE IND.RDF_RESOURCE = DP.RDF_RESOURCE
AND IND.OBJECT_TYPE_ID_INDEXED IN (........)
AND DP.PARTITION_VALUE IN (......)
AND .......

如何在休眠搜索中翻译IND.RDF_RESOURCE = DP.RDF_RESOURCE???

我以为我可以使用查询找到DatatypeProperty类的所有RDF_RESOURCE并在查询中为类Indexing匹配所有RDF_RESOURCE但这似乎效率很低。

有谁对此有更好的方法?

哈代

我有2个类INDEXING和DATA_PROPERTY。其中2个之间没有关联。而且我无法更改它们或创建新类来关联其中2个。

在这种情况下,您将身处困境。您将需要以某种方式关联记录,最明显的选择是通过关联。同样,您不能将SQL连接与Lucene提供的基于自由文本的索引进行比较。

一种可能的解决方案是编写一个自定义网桥,该网桥在索引编制时执行联接并为相关数据建立索引,以便您可以通过查询直接将其作为目标。这是否适合您将取决于您的用例。在您的示例设置中,我看不到任何可从自由文本搜索中受益的字段。我只能假设您只显示部分代码。如果不是,为什么不坚持使用SQL?

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Hibernate Search查询类

来自分类Dev

Hibernate Search 6中LocalDateTime的范围查询

来自分类Dev

Hibernate Search 中 BigDecimal 的范围查询

来自分类Dev

如何在Hibernate中查询Embedded类?

来自分类Dev

Hibernate查询类强制转换异常

来自分类Dev

如何在Hibernate中查询Embedded类?

来自分类Dev

java中hibernate查询的类名限制

来自分类Dev

Tomcat + Hibernate =找不到查询类的持久类

来自分类Dev

Hibernate Search 5.0数值Lucene查询HSEARCH000233问题

来自分类Dev

使用Hibernate Search查询枚举(枚举)的IndexedEmbedded列表

来自分类Dev

Hibernate Search - 在查询上应用 facet 不会返回任何结果

来自分类Dev

使用 Hibernate Search 时“过滤查询不支持排序”

来自分类Dev

用于查询多个类的Hibernate条件(或受子类列表限制)

来自分类Dev

Hibernate Search query for class

来自分类Dev

Hibernate 生成的查询

来自分类Dev

Hibernate 命名查询 ClassCastException

来自分类Dev

@Component Hibernate类

来自分类Dev

Hibernate Search索引单个租户

来自分类Dev

Hibernate Search索引单个租户

来自分类Dev

Hibernate jpql查询正确用法

来自分类Dev

Hibernate渴望通过查询加载

来自分类Dev

Spring Hibernate在查询中添加_

来自分类Dev

Spring MVC Hibernate搜索查询

来自分类Dev

Hibernate本机查询显示异常

来自分类Dev

查询时,Hibernate抛出StackOverflowError

来自分类Dev

面向关系表的Hibernate查询

来自分类Dev

Hibernate查询与地图属性实体

来自分类Dev

Hibernate命名查询外部联接

来自分类Dev

复合选择的Hibernate查询版本