Hibernate Search | ngram analyzer with minGramSize 1

被刻印的时光 ゝ 提交于 2019-11-27 16:26:42

You can set up a second analyzer, identical except that it does not have an ngram filter, and then override the analyzer used for queries:

QueryBuilder hospitalQb = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(Hospital.class)
    .overridesForField( "name", "my_analyzer_without_ngrams" )
    .get();
// Then it's business as usual

Additionally, if you are implementing some kind of auto-completion (foo*), and not in-word search (*foo*), you may want to use EdgeNGramFilterFactory instead of NGramFilterFactory: it will only generate ngrams that are prefixes of the indexed tokens.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!