我真的不知道MoreLikeThis query是如何工作的。我有一个问题,假设我有两个文档,我有一些字段和一个国家字段。现在,一个文档的country字段的值为'Australia‘,另一个文档的country字段的值为'England’。
考虑到所有其他字段都是相同的,现在,如果对一个文档运行MoreLikeThis查询,它会返回另一个字段吗?只有国家/地区字段不同。
还有,有没有办法给一个字段最大的优先级?就像本例中的' country ',这样lucene会返回更多特定于某个国家的项吗?
发布于 2016-05-17 04:32:04
我将使用BooleanQuery将MLT查询与所需的"country“值的查询结合起来。
例如:
MoreLikeThis mlt = new MoreLikeThis(reader);
Query mltQuery = mlt.like(docNo);
Query countryQuery = new TermQuery("country", "england");
Query finalQuery = BooleanQuery.Builder()
.add(mltQuery, BooleanClause.Occur.SHOULD)
.add(countryQuery, BooleanClause.Occur.MUST)
.build();https://stackoverflow.com/questions/37232549
复制相似问题