Ich muss alle Dokumente in meiner Sammlung finden, für die die Länge eines bestimmten Feldes eine bestimmte Grenze überschreitet. Der Feldtyp ist eine Zeichenfolge. Gibt es eine Funktionsabfrage, die die Länge eines Zeichenfolgenfeldes in Solr zurückgibt?String Längenfunktion Abfrage in Solr
Antwort
Die Lösung besteht darin, die Regex-Funktionen von Solr zu verwenden. Zum Beispiel ruft die folgende Abfrage alle Dokumente, für die das title
Feld zumindest 42:
title:/.{42}.*/
Abfrage nach Länge wird nicht standardmäßig unterstützt, die sinnvollste Möglichkeit wäre, ein separates (numerisches) Feld zu erstellen und nach diesem Feld abzufragen.
Also muss ich mein Schema, um so zu tun, ändern? Dies ist eine einmalige Sache, die ich tun muss. Ist es am besten, ein Längenfeld zu definieren und es dann wegzuwerfen? – snakile
Wenn es eine einmalige Sache ist, können Sie [über alle Dokumente iterieren] (http://stackoverflow.com/questions/5051460/solr-solrj-how-to-iterate-results-without-creating-a-giant- Arraylist) und führen Sie die Verarbeitung manuell durch. – mindas
+1, weil Ihre Lösung funktioniert und völlig in Ordnung ist, aber ich denke, ich habe eine einfachere gefunden. Siehe meinen Beitrag. – snakile
- 1. Anwenden Abfrage Slop (qs) auf String-Feld in solr
- 2. Solr Abfrage TrieDateField in Millisekunden
- 3. Eigentlich generic Längenfunktion in Haskell
- 4. Boolean NOT in solr Abfrage
- 5. Solr Sortierung in OR-Abfrage
- 6. Abfrage Registerkarte in SOLR fehlt
- 7. SOLR - Verarbeitung Abfrage Antwort
- 8. Solr Abfrage beginnt mit
- 9. Solr Abfrage für alphabetische Suche
- 10. Solr String-Feld maximale Länge
- 11. Solr: Ungültiges Datum String: '1996'
- 12. Solr 'Invalid Date String' Ausnahme
- 13. Wie Abfrage in Solr nach Datum filtern?
- 14. OR verwenden und NICHT in solr Abfrage
- 15. Solr Shingle ist nicht in Debug-Abfrage
- 16. Wie Ergebnisse korrekt in Solr Dismax Abfrage
- 17. SOLR ignoriert 'NOT' Klausel in Abfrage
- 18. Ändern dynamischer Feldtitel in Solr wählen Abfrage
- 19. Traversal-Filter in grafischen Abfrage-Parser Solr
- 20. Wie Max String Länge in Solr-Konfiguration
- 21. Solr: wie Abfrage bestimmten Entity, wenn mehrere
- 22. Apache Solr verifizieren Abfrage vor der Ausführung auf solr
- 23. Solr - Abfrage über alle Felder best practice
- 24. Solr-Abfrage mit Ruby - Datum zu vergleichen
- 25. Solr Abfrage zeigt nicht alle Felder
- 26. Solr-Filter-Abfrage einschließlich NOT und OR
- 27. wie base64 codierte string in solr speichern und suche mit solr query mit normalem text verwenden
- 28. Warum funktioniert eine strikte Längenfunktion merklich schneller?
- 29. Solr 4.5: Wann ist Solr facet Abfrage besser als einfache Abfrage?
- 30. Solr MoreLikeDiese Abfrage entspricht Newline-Zeichen
Ich habe ein Dokument, das "Beschreibung" Feld ist 292 Zeichen und 28 Wörter (die größte Beschreibung in der Sammlung), aber irgendwie, wenn ich abfrage 'description: /. {71}. * /' Gibt es 0 Ergebnisse und Abfragen Beschreibung: /. {70}. */'gibt mein Dokument zurück ... was fehlt mir? –
@joey, was ist der Typ des Feldes? – snakile
org.apache.solr.schema.TextField –