#faceted-search #facet #solrj #solr
#фасетный поиск #фасет #solrj #solr
Вопрос:
Я пытаюсь получить результаты фасетного запроса, используя 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=*:*amp;version=2.2amp;start=0amp;rows=10amp;indent=onamp;facet=onamp;facet.field=CATNAME_STRamp;fq=CATNAME_STR:Erasmus
Есть идеи?
Спасибо.
Кстати, я использую Solr версии 3.1.0 и solr-core-3.1.0
Комментарии:
1. Можете ли вы запустить fiddler или что-то еще, чтобы увидеть, как выглядит фактический запрос к solr?
2. @Aaron D — Это кажется удобным инструментом, но есть ли его эквивалент в Linux. Также Firebug дает довольно хорошее представление и о заголовках.
Ответ №1:
Как выясняется, fq=CATNAME_STR:Erasmus
не означает query.addFacetQuery("CATNAME_STR:Erasmus")
, что вместо query.addFilterQuery("CATNAME_STR:Erasmus")