FullTextEntityManager fullTextEntityManager =Search.getFullTextEntityManager(emanager);
QueryBuilder qb=fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(Person.class).get();
Query statusNotArchieved = qb.keyword().onField("name").matching("John Cena").createQuery();
现在,我应该获得结果,其中结果应包含人员姓名 包含John Cena以及任何包含John的短语 或Cena分开。因此,如果“人名”有三行 包含{“ John Cena”,“ John micheal”,“ Micheal Cena”}我希望所有 结果优先考虑John Cena作为第一个结果
答案 0 :(得分:0)
您给出的查询的行为应与您描述的完全一样:任何包含“ John”或“ Cena”的文档都将被匹配,匹配的两个都将获得更高的评分,并因此出现在结果的顶部。
也就是说,假设您对字段“名称”启用了分析,默认情况下就是这种情况。
如果您有其他行为,请提供更多信息:
Person
实体的完整代码