过滤时我似乎错过了一些细节。
在我的申请中,我有一个研究所提供的研讨会。该研究所应该只看到它提供的研讨会。因此,我希望将研讨会的学院字符串与过滤器匹配:
new TermFilter( new Term("institute", institute) );
和
instituteSeminarFullTextQuery.enableFullTextFilter( Seminar.SEMINAR_INSTITUTE_FILTER ).setParameter( "institute", institute );
该字段注释如下
@Basic
@Field(index = Index.YES, analyze = Analyze.NO, store = Store.NO)
private String institute;
这只适用于我使用"真实单词"作为学院名称,即字典中的单词。但该研究所通常类似于inst-1或inst-2,在这种情况下,我得到了其他研究所的结果。
我的猜测是,Lucene索引会破坏学院名称并且匹配的次数超出预期。
如何正确检索完全匹配的结果?