Não obtendo resultados desejados de facets Solr

2

Estou trabalhando na adição de facetas às minhas consultas do Solr e estou obtendo alguns resultados estranhos.

Digamos que eu tenha uma lista de fabricantes que eu gostaria de ter facetado. Esta lista incluiria:

Autoridade portuária
Carhartt Vestuário Uniformes Dickies

Minhas facetas para isso são:

<int name="port">157</int>
<int name="authority">156</int>
<int name="clothing">156</int>
<int name="carhartt">105</int>
<int name="uniforms">67</int>
<int name="dickies">58</int>

Existe uma maneira de fazer com que as facetas usem o valor total, não divididas em cada palavra? Eu defini o manufactuer no meu arquivo schema.xml como:

<field name="manufacturer" type="text_general" indexed="true" stored="true" multiValued="false"/>

Eu tenho em grande parte o arquivo schema.xml padrão que está no diretório de exemplo quando você faz o download do Solr. A única coisa que eu mudei do exemplo padrão foi adicionar meus campos.

    
por Josh Pennington 04.01.2013 / 17:38

1 resposta

1

Uma maneira fácil de fazer isso é copiar seus dados para um campo de faceta específico. Você geralmente não deseja a tokenização ou qualquer outra alteração no campo de facetas.

Por exemplo, no seu solr schema.xml você pode fazer

<copyField source="manufacturer" dest="manufacturerFacet"/>

Isso copiará os dados que você tenta armazenar no campo do fabricante para o manufacturerFacet automaticamente. Dessa forma, você pode definir o campo manufacturerFacet como o seguinte, usando string como tipo padrão base sem tokenização.

<field name="manufacturerFacet" type="string" indexed="true" stored="false" multiValued="true"/>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
    
por 09.01.2013 / 18:59

Tags