我正在尝试在字段上实现多选的 Solr Facet 搜索。举这个例子:http://docs.lucidworks.com/display/solr/Faceting#Faceting-LocalParametersforFaceting,我想生成对 solr 的调用:
q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&facet=on&facet.field={!ex=dt}doctype
我不知道如何使用 solrj (java) 调用它,因为我不想添加一个简单的字段,但我需要包含标记和排除(!tag=dt 和 !ex=dt)。你知道java代码应该是什么样子吗?
我正在使用 Spring-Data-Solr ,它似乎太基础了,无法进行这样的提前调用。所以我认为我需要降低级别并使用 solrj。任一解决方案都很棒(solrj 或 spring-data-solr)
以下块应创建您想要的查询字符串。
SimpleFacetQuery query = new SimpleFacetQuery(new SimpleStringCriteria("mainquery"))
.addFilterQuery(new SimpleQuery(new Criteria("status").is("public")))
.addFilterQuery(new SimpleQuery(new Criteria("{!tag=dt}doctype").is("pdf")));
query.setFacetOptions(new FacetOptions("{!ex=dt}doctype"));
solrTemplate.queryForFacetPage(query, YourBean.class);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)