2016-11-23 2 views
0

я получаю следующие аспекты, когда я запрашиваю :SolrNet: Держите количество Facet при фильтрации запросов

"Field1": [ 
    { 
    "Key": "Best Facet 1", 
    "Value": 999 
    }, 
    { 
    "Key": "Best Facet 2", 
    "Value": 999 
    } 
], 
"Field2": [ 
    { 
    "Key": "Second Best Facet 1", 
    "Value": 421 
    }, 
    { 
    "Key": "Second Best Facet 2", 
    "Value": 103 
    } 
] 

Теперь я хочу, чтобы применить фильтр запроса (FQ) на Field2 = «Второй лучший Facet 2»

результаты, которые я получаю являются

"Field1": [ 
    { 
    "Key": "Best Facet 1", 
    "Value": 103 
    }, 
    { 
    "Key": "Best Facet 2", 
    "Value": 103 
    } 
], 
"Field2": [ 
    { 
    "Key": "Second Best Facet 1", 
    "Value": 103 
    }, 
    { 
    "Key": "Second Best Facet 2", 
    "Value": 103 
    } 
] 

мне нужно отсчеты фасетов оставаться последовательными и не зависит от применения фильтра. Я не могу найти решение этой проблемы.

ответ

1

Вы можете tag your filters and tell Solr to ignore those filters при расчете баллов фасетов:

fq={!tag=dt}doctype:pdf&facet.field={!ex=dt}doctype 

fq= применяет фильтр, но теги фильтр с тегом dt и рассказав facet.field исключить любой фильтр помечена, как dt, он все равно будет рассчитывать подсчитывается по всей коллекции, а не только отфильтрованных значений.

Фильтрация исключений поддерживается для всех типов фасетов. И тег, и ex local params могут указывать несколько значений, разделяя их запятыми.

+0

Вы, сэр, только что помогли мне встретить крайний срок. большое спасибо! –

Смежные вопросы