Как получить только результат facet.query, используя solrj? - PullRequest
1 голос
/ 26 апреля 2011

Я пытаюсь получить результаты фасетного запроса с помощью solrj, но, похоже, не имеет значения, добавить ли фасетный запрос или нет.В любом случае я получаю один и тот же список документов.

Так что этот запрос возвращает тот же список документов ...

  query.setQuery(searchString);
  query.setFacet(true);
  query.addFacetField("CATNAME_STR");
  query.addFacetQuery("CATNAME_STR:" + facetName); 

... с этим запросом

  query.setQuery(searchString);
  query.setFacet(true);
  query.addFacetField("CATNAME_STR");

ТолькоРазница в том, что я могу получить количество документов, соответствующих фасетному запросу, с response.getFacetQuery();

Я ожидал, что он будет работать как

http://localhost:8983/solr/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on&facet=on&facet.field=CATNAME_STR&fq=CATNAME_STR:Erasmus

Есть идеи?

Спасибо.

Кстати, я использую Solr версии 3.1.0 и solr-core-3.1.0

1 Ответ

5 голосов
/ 27 апреля 2011

Как оказалось, fq=CATNAME_STR:Erasmus не означает query.addFacetQuery("CATNAME_STR:Erasmus"), а вместо query.addFilterQuery("CATNAME_STR:Erasmus")

...