Java 使用弹簧数据解算器在现场增加一个数值

Java 使用弹簧数据解算器在现场增加一个数值,java,spring,search,solr4,spring-data-solr,Java,Spring,Search,Solr4,Spring Data Solr,我有一个solr字段可见性,它有一组可能的值,我想使用Spring数据solr执行搜索。我想在()中使用in,如果可能的话,增加一些但不是所有的值 这是一个我需要的搜索示例 可见性:(可见^1000存档) 或 可见性:(可见^1000草稿^500存档) 这在1.0.0.0版或更高版本中可能吗?目前我使用的是1.0.0.RELEASE 谢谢,/w我从来没有正确地链接过这个查询,但是受到了SimpleStringCriteria()上petrikainulainen.net的启发 我从来没有正确地链

我有一个solr字段
可见性
,它有一组可能的值,我想使用Spring数据solr执行搜索。我想在()中使用
in
,如果可能的话,增加一些但不是所有的值

这是一个我需要的搜索示例

可见性:(可见^1000存档)

可见性:(可见^1000草稿^500存档)

这在1.0.0.0版或更高版本中可能吗?目前我使用的是1.0.0.RELEASE


谢谢,/w

我从来没有正确地链接过这个查询,但是受到了
SimpleStringCriteria()
上petrikainulainen.net的启发


我从来没有正确地链接过这个查询,但受到
SimpleStringCriteria()
上的petrikainulainen.net的启发


通过如下所示的操作,您将大大提升“网页”类别的文档。然后将“组合”条件添加到现有的其他条件中

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);

通过如下所示的操作,您将大大提升“网页”类别的文档。然后将“组合”条件添加到现有的其他条件中

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);

或者类似于
otherfield:value和(可见性:可见^1000或可见性:草稿^500或可见性:存档)
的内容也可以。我不知道如何构造像spring-data-solr中那样的分组查询。现在我想到了,这个问题的另一个标题可以是使用spring-data solr的嵌套查询。我可以通过使用
expression()
这样来实现这一点:
新条件(“可见性”)。表达式(((可见性:(可见^1000)或可见性:(草稿^500)或可见性:(存档))”
似乎不正确,但有效-生成以下内容:
可见性:(可见性:^1000)或可见性:(草稿^500)或可见性:(存档))”
或类似于
其他字段:值和(可见性:可见^1000或可见性:草稿^500或可见性:存档)
会起作用。我不知道如何构造像spring-data-solr中那样的分组查询。现在我想到了,这个问题的另一个标题可以是使用spring-data solr的嵌套查询。我可以通过使用
expression()
这样来实现这一点:
新条件(“可见性”).expression(((可见性:(可见^1000)或可见性:(草稿^500)或可见性:(存档))”
似乎不正确,但有效-生成以下内容:
可见性:(可见性:^1000)或可见性:(草稿^500)或可见性:(存档))”