Frage

Wie ist Lucene ist ConstantScoreRangeQuery besser als die alte RangeQuery?

In welchem Fall sollten Sie immer noch verwenden, RangeQuery?

War es hilfreich?

Lösung

Nach der RangeQuery Dokumentation in Ihrem link, Ein ConstantScoreRangeQuery:

  • schneller als RangeQuery.
  • nicht verursachen eine BooleanQuery.TooManyClauses Ausnahme, wenn der Wertebereich groß ist.
  • hat keinen Einfluss auf das scoring basiert auf der Knappheit der einzelnen Begriffe, die vielleicht passen.

Angenommen, Sie sind daran interessiert, knapper Geschäftsbedingungen höher bewertet (sagen Sie suchen, in einer Reihe von Stunden, sondern wollen die knapper Stunden werden höher bewertet - vielleicht sind Sie der Suche für ein "slow" - Zeitraum von dem Tag zu laufen, ein backup-Prozess).In diesem Fall wird die ältere RangeQuery scheint vorzuziehen.

Die nächste generation wird die TrieRangeQuery, derzeit in den contrib-Abschnitt.Es wird wahrscheinlich Teil des Lucene 2.9 Kern.Es bietet eine schnellere Reichweite Abfragen als die beiden anderen Methoden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top