gpt4 book ai didi

java - Lucene 查询 @indexedEmbedded 对象 id

转载 作者:太空宇宙 更新时间:2023-11-04 14:42:33 25 4
gpt4 key购买 nike

我尝试使用 org.apache.lucene.search.Query 来获取具有特定 @id id 的对象 @indexedEmbedded 的所有条目。这根本不适用于我当前的代码。我的代码如下:

搜索

FullTextSession fullTextSession = getFullTextSession();
QueryBuilder queryBuilder = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(Request.class).get();

org.apache.lucene.search.Query query = queryBuilder.keyword()
.onField("keyword.id")
.matching(keywordId)
.createQuery();

FullTextQuery fullTextQuery = fullTextSession
.createFullTextQuery(query, Request.class);

return fullTextQuery.list();

Request.class

@Entity
@Indexed
public class Request etc etc..

@ManyToOne
@IndexedEmbedded
private Keyword keyword;

关键字.class

@Entity
@Indexed
public class Keyword etc etc..

@Id
@GeneratedValue
private Long id;

执行此代码时,我没有收到任何错误,结果不限于带有提供 id 的关键字的 Request 对象。

我稍后将其与 org.apache.lucene.search.BooleanQuery 结合使用,但即使尝试它本身也不起作用。我知道这可能是错误的方法,因此任何建议将不胜感激。

谢谢!

最佳答案

索引属性设置不正确,请求类的索引根本没有按应有的方式建立索引。添加以下代码来修复错误:

<property name="hibernateProperties">
<props>
...
<prop key="hibernate.search.default.indexBase">/var/lucene/indexes</prop>
<prop key="hibernate.search.default.directory_provider">filesystem</prop>
<prop key="hibernate.search.lucene_version">LUCENE_CURRENT</prop>
</props>
</property>

关于java - Lucene 查询 @indexedEmbedded 对象 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24782386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com