Feldtyp enthält:Solr Rückkehr falsche Dokumente während Feld suchen Punkte in solr.StrField
Feldtyp name = "StrCollectionField" class = "solr.StrField" omitNorms = "true" mehrwertig = "true" docValues = "true"
Feld name = "po_line_status_code" type = "StrCollectionField" indiziert = "true" gespeichert = "true" required = "false" docValues = "false"
po_no ist PK
Index-Wert: po_line_status_code: [3700.100]
Suchanfrage: po_line_status_code: (1100,200 1100,500 1100,600 1100,400 1100,300 1100,750 1100,450)
Ergebnis: Erste Ergebnisse mit po_line_status_code: [3700.100] auch.
Doziert Solr intern solr.StrField mit Punkten oder gibt es hier einen regulären Ausdruck? Klingt für mich wie ein Käfer.
Wir haben nicht dieses Dokument erhalten, wenn wir die Abfrage eine der folgenden 1> po_line_status_code ändern: (1.200,200 1.200,500 1.200,600 1.200,400 1.200,300 1.200,750 1.200,450) 2> po_line_status_code: (1.100,200 1.100,500 1.100,600 1.100,400 1.100,300 1.100,750 1.100,450) UND po_no: 938792842
Wir verwenden DSE Version: 4.7.4 mit Apache Solr 4.10.3.0.203.
Debug Abfrageausgabe von einem der Server die falsche Dokumente zurückgibt: response = {numFound = 2, start = 0, docs = [SolrDocument {po_no = 4575419580094, po_line_status_code = [3700,4031]}, SolrDocument {po_no = 1575479951283 , po_line_status_code = [3700.100]}]}, debug = {roquequerstring = po_line_status_code: (1100 1100.500 1100 1100600 1100 1100 400 343 344 345 346 347 409 410 428 1100.750 1100.450), querystring = po_line_status_code: (3 1100.200 29 5 6 1100.300 63 199 1100.500 200 1100.600 198 1100.400 344 345 346 343 347 409 410 428 1.100,750 1.100,450)]
ich sehe auch die unten stehende Sache in der Antwort, die ich glaube, etwas zu tun hat mit Ranking oder so:
No Match auf erforderliche Klausel (po_line_status_code: 3 po_line_status_code: 1100,200 po_line_status_code: 29 po_line_status_code: 5 po_line_status_code: 6 po_line_status_code: 1100,300 po_line_status_code: 63 po_line_status_code: 199 po_line_status_code: 1100,500 po_line_status_code: 200 po_line_status_code: 1100,600 po_line_status_code: 198 po_line_status_code: 1100,400 po_line_status_code : 343 po_line_status_code: 344 po_line_status_code: 345 po_line_statuscode: 346 po_line_statuscode: 347 po_line_statuscode: 409 po_line_statuscode: 410 po_line_statuscode: 428 po_line_statuscode: 1100.750 po_line_statuscode: 1100.450) \ n 0.0 = (NON-MATCH) Produkt von: \ n 0.0 = (NON-MATCH) Summe von: \ n 0.0 = Koord (0/23) \ n 0.015334824
Könnte es auch etwas mit der Neuindizierung zu tun haben? Wenn ich meine Dokumente neu indexiere, behebt es das Problem?
Die Links zu doc-Datei solr Schema und solr Config enthält, kann here
In welcher Version sind Sie? – Bereng
Was zeigt debugQuery? StrField sollte nur exakte Übereinstimmungen geben. Haben Sie versucht, nur eine einzige Abfrage für den Wert auszugeben? (Ich bin mir nicht sicher, ob Ihr Beispiel übereinstimmen würde, selbst wenn Tokenization passierte, da keine Zahlen identisch sind) – MatsLindh
Funktioniert gut auf solr 4.10.4; Auf diesem Feld findet keine Tokenisierung statt und auch kein "regulärer Ausdruck". Es ist schwer zu erkennen, was Sie ohnehin erreichen würden, selbst wenn es Tokening geben würde. –