1

我有一个visibility具有一组可能值的 solr 字段,我想使用 Spring Data Solr 执行搜索。如果可能的话,我想使用in()和提升一些但不是所有的值。

这是我需要的搜索示例,

visibility:(visible^1000 archived)

或者

visibility:(visible^1000 draft^500 archived)

这在 1.0.0.RELEASE 或更高版本中是否可行?目前我正在使用 1.0.0.RELEASE。

谢谢,/w

4

2 回答 2

2

我从来没有设法正确地链接这个查询,但是被 petrikainulainen.net 启发了SimpleStringCriteria()

Criteria criteria = new SimpleStringCriteria("(visibility:(visible^1000) OR visibility:(draft^500) OR visibility:(archived))");
于 2013-10-24T20:58:36.377 回答
2

通过执行如下所示的操作,您将为类别为“网页”的文档提供更高的提升。然后将“组合”标准添加到您现有的其他标准

Criteria webpage= new Criteria("category" ).is("webpage" ).boost((float) 1000);
Criteria document= new Criteria("category" ).is("document" ).boost((float) 2);
Criteria combined= webpage.or( document);
于 2014-11-04T03:09:17.350 回答