2017-03-16 5 views
0

Was ist Dismax Abfrage Parser und wie man es verwendet. Ich möchte nur nach einem String in einem Feld in solr nach dem passenden Prozentsatz suchen. wie man es benutzt, um dies zu tun. Bitte geben Sie ein Beispiel für die Verwendung des Dismax-Abfrageparsers. Ich habe das folgende Dokument. und ich das Dokument nur zu erhalten, die vollständig übereinstimmt oder teilweise mit den q=Jain Nagar Bla BlaWie DisMax Abfrage Parser in Solr zu verwenden

{ 
    "id":"2", 
    "shipping_firstname":"Sudhanshu", 
    "address":"H.No. 444, Gali No.2 Jain Nagar", 
    "date_added":"2017-01-21T14:15:15Z", 
    "_version_":1562029999829024768}] 
} 

Ich bin mit dieser Abfrage

select?q=Jain Nagar&defType=dismax&m‌​m=2&pf=address&qf=ad‌​dress 

Warum es kein Ergebnis.

Antwort

1

Versuchen Sie mm (Minimum sollte übereinstimmen) Parameter Dismax Parser.

es hat große Flexibilität, Ganzzahlen oder Prozentsatz zu Millimeter-Parameter zu spezifizieren.

Beispiel:

betrachten 3 docs

doc1: duplicate iPod, doc2: ipod Apfel, doc3: ipod Kabel

Lets Abfrage sagen ipod apple. es ruft Dokumente ab, wenn es entweder ipod oder apple oder beides hat. So erhalten wir 3 Ergebnisse.

wenn wir verwenden mm = 2 mit dismax Parser

http://localhost:8983/solr/collection_name/select?indent=on&q=ipod apple&wt=json&defType=dismax&mm=2 

Es docs Mindestspiel von 2 Wörtern holen, in Abfrage angegeben ipod apple. Wenn doc nur einen Begriff hat (zB 'ipod'), wird er nicht in den Ergebnissen zurückgegeben.

Im Ergebnis, das wir nur ein doc erhalten, dh

doc2

Prozentwerte zu mm Parameter (wie 75% oder -25%)

für weitere Details können auch angeben, überprüfen Here

Hoffe, dass dies hilft, vinod

+0

Ich habe Feldadresse in Dokument mit unterschiedlichen Adresswerten. und ich versuche diese Abfrage. und Abfrage ist wie 'solr/orders/select? q = Jain% 20Nagar & defType = dismax & einzug = on & mm = 2 & pf = adresse & qf = adresse 'es gibt nichts zurück, aber ich habe' H.No. 444, Gali No.2 Jain Nagar' im Adressfeld des Dokuments. Alles, was ich tun möchte, ist eine partielle Suche. Es bedeutet, dass, wenn einige Wörter in der Abfrage im Adressfeld übereinstimmen, ich sie –

+0

anzeigen möchte, um die Schemadatei für das Adressfeld und seine Typdefinition zu überprüfen. ist es gesetzt Index = wahr. Welche Analysatoren werden für diesen Feldtyp verwendet? – vinod

+0

ist wie '' –

Verwandte Themen