【问题标题】:how to write like facet.method=enum in query with spring solr如何使用 spring solr 在查询中编写 facet.method=enum
【发布时间】:2015-07-16 03:59:02
【问题描述】:

在 solr 查询中... facet.method=enum

spring data solr 如何像上面那样做。

SimpleFacetQuery facetQuery = new SimpleFacetQuery(new Criteria(CrawlDocument.FIELD_CONTENT).contains(searchStr));
        facetQuery.setFacetOptions(new FacetOptions().addFacetOnField(CrawlDocument.FIELD_CONTENT).setFacetLimit(20));

??????

请给点建议

【问题讨论】:

  • 我试图编辑它只是为了格式化代码,但没有足够的更改来保存编辑。然后我想修复语言,但是在“spring data solr 如何像上面那样做”中有一些东西无法理解。什么意思?
  • 我想使用 spring data solr API 来表达 'facet.method=enum'。

标签: spring solr facet


【解决方案1】:

这取决于 solrj-1.1.0 和 spring-data-4.6.1。

@Test
public void testFacetMethodEnum()   throws SolrServerException {
    SimpleFacetQuery query = new SimpleFacetQuery();
    query.addCriteria(new Criteria("coumn_name1").is("value1"));
    query.addCriteria(new Criteria("coumn_name2").is("value2"));
    query.addProjectionOnField("projection_1");

    FacetOptions facetOptions = new FacetOptions("facet_field");
    facetOptions.setFacetLimit(1000);
    query.setFacetOptions(facetOptions);

    QueryParsers queryParsers = new QueryParsers();
    SolrQuery solrQuery = queryParsers.getForClass(query.getClass()).constructSolrQuery(query);
    solrQuery.setParam(FacetParams.FACET_METHOD, FacetParams.FACET_METHOD_enum);

    QueryResponse reponse = Your_SolrTemplate.getSolrOperations().getSolrServer().query(solrQuery);
    assertNotNull(reponse);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 2018-09-04
    • 2023-03-27
    • 2022-09-22
    相关资源
    最近更新 更多