E.g,当我使用这个DSL用于搜索:Hibernate的关键词搜索
Query query = queryBuilder.keyword().onField("person").matching("man").createQuery();
我想要的结果只包括现场person
一字一句man
,而结果就像He is a man
在球场上。我能怎么做?
有人有线索? Thx
E.g,当我使用这个DSL用于搜索:Hibernate的关键词搜索
Query query = queryBuilder.keyword().onField("person").matching("man").createQuery();
我想要的结果只包括现场person
一字一句man
,而结果就像He is a man
在球场上。我能怎么做?
有人有线索? Thx
这不是自由文本搜索的工作方式。如果搜索词匹配并且只有一个词,则不能说它只应匹配。自由文本搜索引擎的要点是在给定的文本语料库中查找匹配。如果你的现场人员包含一次“人”,并且一旦“他是一个人”,你会得到一个匹配(除非你指定未分析的领域)。差异在于得分。
这么多的回应。但是我不能对未经分析的领域编制索引。 U表示不同之处在于分数,你能给我一个例子来根据分数过滤结果吗? – Stephan
或者我可以使用动态过滤器来控制结果的长度?(如果我搜索“man”,结果的长度应该是3) – Stephan