Explicația SOLR df și qf (Programare, Căutare, Solr)

zaruri a intrebat.

Nu pot găsi o explicație adevarată a modului în care interacționează acești parametri de interogare

Primesc rezultate surprinzătoare (pentru mine) că dacă specific

qf=title^20 description^10

atunci nu obțin niciun rezultatînsă dacă adaug apoi

df=description

obțin rezultate

df este setat la text în solrconfig.xml – ceea ce se va schimba – dar întrebarea mea este următoarea – setarea df anulează cumva setarea qf? pare ciudat

2 răspunsuri
Jayendra

df este câmpul implicit și va avea efect numai dacă qf nu este definit.

Presupun că nu folosiți parserul dismax și folosiți setările implicite din solrconfig.xml

qf atunci nu va avea efect oricum și câmpul df câmp care este text nu va returna valori.

df=description caută pe câmp și, prin urmare, returnează valori.Încercați să treceți defType=edismax ca parametru.

Comentarii

  • grozav – încercarea de a mă asigura că folosesc edismax în mod implicit este exact motivul pentru care am început să mă uit la acest lucru – cred că trebuie să modific solrconfig.xml –  > Por zaruri.
Rafal

The df reprezintă default field, , în timp ce qf reprezintă query fields.

Câmpul definit de df este utilizat atunci când în interogare nu este menționat niciun câmp. De exemplu, dacă executați o interogare de tipul q=solr și aveți df=title interogarea în sine va fi de fapt title:solr. Adresa df este acceptat de gestionarul de cereri Solr implicit.

Adresa qf este un parametru utilizat de către dismax parser de interogare și edismax query parser. Probabil că nu aveți defType=dismax sau defType=edismax adăugat la parametrii gestionarului de cerere sau la interogarea dvs. Încercați să le adăugați și ar trebui să obțineți rezultatele căutării.