2013-03-29 3 views
0

здесь формат продукта я естьгруппировка состояние в Solr

<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">apple.com</str> 
</doc> 
<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">apple.com</str> 
</doc> 
<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">buy.com</str> 
</doc> 
<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">amazon.com</str> 
</doc> 
<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">amazon.com</str> 
</doc> 
<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">ebay.com</str> 
</doc> 

я должен сгруппировать его с SKU, так что я пишу это как

http://**********/?q=ipad&wt=xml&group=true&group.field=upc&group.ngroups=true 

и в моем выходе

<result name="doclist" numFound="6" start="0"> 
<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">apple.com</str> 
</doc> 

, но я хочу сгруппировать с именем магазина. если более чем один продукт в магазине с той же SKU он должен принимать только один магазин

мой о/р должен быть, как это (numfound = 4 вместо 6)

<result name="doclist" numFound="4" start="0"> 
<doc> 
    <str name="productname">ipad</str> 
    <str name="sku">1524856</str> 
    <str name="store">apple.com</str> 
</doc> 
+0

Попробуйте добавить хранилище также в поле группы. Например: ** group.field = productname + store ** – learningloop

+0

не работает. его отображающая ошибка в запросе –

+0

check 'http: // wiki.apache.org/solr/FieldCollapsing # Request_Parameters' –

ответ

0

Я нашел решение, добавив 'group.limit = 100000', это отображает список всех doc в группе, которые соответствуют условию оттуда, я сгруппировал его однозначно с помощью php

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