Solr синтаксис запроса фасетирования - PullRequest
3 голосов
/ 08 мая 2009

Я хочу отфильтровать количество фасеток в многозначном поле (без документов)

Например:

select?q=*:*&rows=5&facet=true&facet.limit=5&facet.field=productID&facet.sort=true

есть ли шанс отфильтровать счет на моем поле facet.field productId?

Учитывая предыдущий запрос, я получаю:

<lst name="facet_counts">
<lst name="facet_queries"/>
−
<lst name="facet_fields">
−
<lst name="productID">
**<int name="EG7SpTw03mJ25vxS5jcB24">603</int>**
<int name="E53OBaX5hjGDAKzbHHaDG1">573</int>
<int name="sSLMrsA0wjLF8iWRAbzNq4">415</int>
<int name="ijcfPOTpg3eeGoXSW8h8L5">336</int>
<int name="Lij0a3kVgQzLxtOMgOXb06">296</int>
</lst>
</lst>
<lst name="facet_dates"/>
</lst>

Я просто хочу отфильтровать запрос, чтобы получить такие результаты, как:

- - 603 573 415 336 296

 <lst name="facet_counts">
    <lst name="facet_queries"/>
    −
    <lst name="facet_fields">
    −
    <lst name="productID">
    <int name="E53OBaX5hjGDAKzbHHaDG1">573</int>
    <int name="sSLMrsA0wjLF8iWRAbzNq4">415</int>
    <int name="ijcfPOTpg3eeGoXSW8h8L5">336</int>
    <int name="Lij0a3kVgQzLxtOMgOXb06">296</int>
    <int name="Lij0a3kVgQzLxtOMYERESW">293</int>
    </lst>
    </lst>
    <lst name="facet_dates"/>
    </lst>

Просто хочу отфильтровать по productId: EG7SpTw03mJ25vxS5jcB24 ...

THX

1 Ответ

5 голосов
/ 11 мая 2009

Ну, я нашел решение, просто используйте параметр facet.prefix

выберите д = * +1003 *: & строк = 5 & фасет = истина & facet.limit = 5 & facet.field = PRODUCTID & facet.sort = истина & facet.prefix = EG7SpTw03mJ25vxS5jcB24

Вывод, который я получаю:

<lst name="facet_counts">
<lst name="facet_queries"/>
−
<lst name="facet_fields">
−
<lst name="taxonUUID">
<int name="EG7SpTw03mJ25vxS5jcB24">603</int>
</lst>
</lst>
<lst name="facet_dates"/>
</lst>

Я собираюсь задать новый более сложный вопрос по этой теме ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...