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