如何否定包含join子句的Spring框架中的整个Solr查询

时间:2018-02-02 23:09:59

标签: java spring join solr

我有以下查询:

{!join from=conceptNcid to=ncid fromIndex=hdd_rel_tst}relationshipNcid:364
我在Spring中实现的

SimpleQuery search = new SimpleQuery(new SimpleStringCriteria("*:*"), pageable);

Criteria criteria = new Criteria("relationshipNcid").is("364");

SimpleFilterQuery fq = new SimpleFilterQuery(criteria);

fq.setJoin(Join.from("conceptNcid").fromIndex("hdd_rel_tst").to("ncid"));

search.addFilterQuery(fq);

Page<T> results = solrTemplate.queryForPage(search, myclass);

此查询效果很好。但是,当我试图否定查询时:

-{!join from=conceptNcid to=ncid fromIndex=hdd_rel_tst}relationshipNcid:364

使用此代码:

SimpleQuery search = new SimpleQuery(new SimpleStringCriteria("*:*"), pageable);

Criteria criteria = new Criteria("relationshipNcid").is("364").not();

SimpleFilterQuery fq = new SimpleFilterQuery(criteria);

fq.setJoin(Join.from("conceptNcid").fromIndex("hdd_rel_tst").to("ncid"));

search.addFilterQuery(fq);

Page<T> results = solrTemplate.queryForPage(search, myclass);

它不起作用。注意我把'not()'放在第二行。我知道这是错误的地方,但我看不出如何在java代码中否定整个查询。有什么想法吗?

0 个答案:

没有答案