Lucene: so erstellen Sie einen Datumsbereich Abfrage programmatisch?

Mithilfe von Lucene 4.2.1 API, ich brauche ein äquivalent

+fieldname:[2013-01-17T00:00:00Z ZU *]

konstruiert programmgesteuert.

Spähte ich in TermRangeQuery und NumericRangeQuery aber nicht in der Lage zu kommen mit eine schnelle Lösung.

  • mögliche Duplikate von Lucene-Query auf eine DateField-index von Solr
  • Ich sehe nicht, eine einfache Antwort gibt, obwohl es bringt mich näher. Ist nicht hier ein Einzeiler, die gewonnen werden können, und sparen Zeit für mich und andere, die dies tun wollen?
  • Ich glaube, Sie brauchen, um re-Lesen Sie die Antwort für diese Frage. Es gibt offensichtlich eine Lösung gibt.
  • Was ich entnommen, dass die Antwort ist, dass ich, der sollte einen NumericRange Abfrage mit Zeitstempel (Long). Dies würde nicht für mich arbeiten, wie ich brauche, um zu senden der Abfrage auf Solr schließlich und Solr akzeptiert nur Datum in YYYY-MM-DDTxx:xx:xxZ-format. Also zurück zum erstellen der Abfrage von hand.
  • Sorry, aber deine Frage/Kommentar keinen Sinn macht. Sie fragte, wie Sie eine Abfrage für Lucene und jetzt plötzlich sprechen Sie über die Solr. Sie brauchen, um mehr details zu bieten für Menschen, um Ihnen zu helfen.
  • Sie sind richtig, Dank diesem ich nicht den Kontext Anfang. Dies war eine Vereinfachung der Frage und konzentrieren sich auf das spezifische Problem. Also, zu klären, was ich zu tun ist, Baue ich eine Lucene-query, toString() am Ende und senden Sie es an Solr. Dies hat soweit funktioniert. Aber es wird wahrscheinlich nicht funktionieren, für Termine. Was hätte ich gern am Anfang war ein Weg, um bauen Sie ein Solr Abfrage programmatisch, aber ich habe nicht gefunden, eine API zu tun.

InformationsquelleAutor Michal R | 2013-05-03
Schreibe einen Kommentar