Solr lista todos os registros, mas registros de correspondência fq primeiro

1

Estou usando o solr 4.0 com o conector DIH jdbc. Eu tenho um campo chamado code com vários valores separados por ponto-e-vírgula (;). Estou tentando listar os resultados da pesquisa que correspondem à consulta de campo (fq) a serem listados na parte superior e os restantes devem ser listados abaixo. Portanto, isso não é apenas uma consulta de filtro para listar apenas a consulta correspondente (fq), mas a correspondência deve ser listada primeiro e os resultados restantes devem ser listados posteriormente. Para ser mais claro, abaixo está um exemplo,

Deixar id, nome e código são nomes de campos:

id=1
name=pebbles
code=465;888;256

id=2
name=paradise
code=802;326;786

id=3
name=blue sea
code=888;221

id=4
name=taj
code=123;568;332

Eu uso o Solr Admin quando pesquiso code:*888* em fq, como o abaixo,

q=*:*
fq=code:*888*   (I also tried code:[*888* TO *])

está listando apenas dois registros (ids 1 e 3) que registram correspondências de 888 no campo de código. Mas isso não é o que estou procurando, neste caso, quero listar todos os (quatro) registros com registros superiores como registros de correspondência fq.

Eu quero que ele seja listado na seguinte ordem ,

id=1
name=pebbles
code=465;888;256

id=3
name=blue sea
code=888;221

id=2
name=paradise
code=802;326;786

id=4
name=taj
code=123;568;332

Alguém tem alguma ideia? Qualquer pessoa com qualquer orientação relevante seria muito útil!

Obrigado!

    
por user53864 30.07.2013 / 07:07

1 resposta

0

Ele é resolvido de duas maneiras, com OR e edismax

Admin do Solr:

com OR

q=*:* OR code:*888*

(http://192.168.1.10:8983/solr/core10/select?q=*%3A*+OR+code%3A*888*&wt=xml)

com edismax

q=*:*
Check the box "edismax"
bq=code:*888*

(http://192.168.1.10:8983/solr/core10/select?q=*%3A*&wt=xml&defType=edismax&bq=code%3A*888*)
    
por 01.08.2013 / 09:07