【发布时间】:2014-08-13 15:48:36
【问题描述】:
当我将 Infinispan 与 Hibernate 一起使用时,我需要使用 Analyzer 来查找包含关键字的结果。
但是当我搜索关键字SNO_NO_D6-11100 时,查询如下:
QueryBuilder queryBuilder = CSECore.searchManager
.buildQueryBuilderForClass(Hierarchy.class).get();
Query query = queryBuilder
.keyword().onField("path").matching("SNO_NO_D6-11100").createQuery();
它将SNO_NO_D6-11100 分隔为SNO_NO_D6 和11100,然后分别找到它们并将2 个结果合并在一起。会有一些结果不正确。
如果我忽略分析器,它只会找到同样不正确的完全匹配。有没有Analyzer可以忽略“-”的解决方案??
【问题讨论】:
-
澄清一下,您正在寻找在
path字段中包含术语SNO_NO_D6-11100的结果? -
是的,我需要 Analyzer 来执行此操作。
标签: hibernate lucene hibernate-search infinispan