Infinispan中的Hibernate DSL关键字搜索
我在Infinispan中使用Hibernate DSL进行搜索 当我使用关键字查询时有一个问题 首先,这里是映射类:Infinispan中的Hibernate DSL关键字搜索,hibernate,hibernate-search,infinispan,Hibernate,Hibernate Search,Infinispan,我在Infinispan中使用Hibernate DSL进行搜索 当我使用关键字查询时有一个问题 首先,这里是映射类: mapping .analyzerDef("fr",StandardTokenizerFactory.class) .filter(LowerCaseFilterFactory.class) .entity(DatatypeProperty.class).indexed().providedId() .property("rdfResource",Ele
mapping
.analyzerDef("fr",StandardTokenizerFactory.class)
.filter(LowerCaseFilterFactory.class)
.entity(DatatypeProperty.class).indexed().providedId()
.property("rdfResource",ElementType.FIELD).field().analyze(Analyze.NO).store(Store.YES)
.property("typeId",ElementType.FIELD).field().analyze(Analyze.NO)
.property("xmlLang",ElementType.FIELD).field().analyze(Analyze.NO)
.property("normVal", ElementType.FIELD).field().analyzer("fr");
还有我在缓存中添加的数据:
dpId====>> DP_1464688 rdfResource====>> HPO_TE_HP:0002099 NormVal====>> asthme xmlLang====>> fr
dpId====>> DP_2009562 rdfResource====>> MDR_PT_10003553 NormVal====>> asthme xmlLang====>> fr
dpId====>> DP_914319 rdfResource====>> MED_T_T2 NormVal====>> asthme xmlLang====>> fr
dpId====>> DP_8271402 rdfResource====>> MSH_M_0001885 NormVal====>> asthme xmlLang====>> fr
dpId====>> DP_4432234 rdfResource====>> MSH_D_001249 NormVal====>> asthme xmlLang====>> fr
用于搜索的查询:
Query query1 = queryBuilder
.bool()
.must(queryBuilder.keyword().onField("normVal").matching("asthme").createQuery())
.must(queryBuilder.keyword().onField("xmlLang").matching("fr").createQuery())
.createQuery();
test = CSECore.searchManager.getQuery(query1, DatatypeProperty.class).list();
但搜索结果中没有人
PS:MSH_D_001249的有一个属性“normVal”,其内容是“哮喘支气管炎”;
如果我将其添加到缓存中,结果中将显示MSH\u D_001249
有人对此有想法吗?在我看来是正确的。通常,analyzer的配置和使用是一个常见问题,但按照您描述的方式,它应该可以正常工作。