Lucene ' s Algorithmus

Ich lese die Zeitung von Doug Cutting; "Raum-Optimierungen für die Gesamtwertung".

Da war es vor langer Zeit geschrieben, Frage ich mich, welche algorithmen lucene verwendet (Bezug auf postings list traversal-und score-Berechnung, ranking).

Insbesondere, die gesamten ranking-Algorithmus beschrieben, beinhaltet die Traversierung entlang der gesamten postings-Liste für jeden Suchbegriff an, damit im Falle von sehr Allgemeine Suchbegriffe wie "gelbe Hund", eine der 2 Bedingungen haben kann, einen sehr, sehr langen postings-Liste bei der web-Suche. Sind Sie alle wirklich Durchlaufen in der aktuellen Lucene/Solr? Oder gibt es irgendwelche Heuristiken zum abschneiden der Liste angestellt?

In dem Fall, wenn nur die top-k Ergebnisse werden zurückgegeben, ich kann verstehen, dass die Verteilung der Buchungen-Liste auf mehreren Rechnern, und dann die Kombination der top-k aus jeder funktionieren würde, aber wenn wir verpflichtet sind, die Rückkehr "zum 100 - - Ergebnis-Seite", d.h. die Ergebnisse in einer Rangfolge von 990--1000, dann jede partition müsste noch die top 1000, also
partitionieren würde nicht viel helfen.

Insgesamt ist es up-to-date ausführliche Dokumentation der internen algorithmen, die Verwendung von Lucene?

  • zusätzlich, jemand weiß, rund (natürlich die details sind geheim, aber ich denke, die wichtigsten Ideen werden sollten, Häufig genug in diesen Tagen), wie google funktioniert schnell ranking in Fällen von multi-term-Abfragen mit UND ? (wenn Ihre postings sind sortiert nach PageRank bestellen, dann ist es verständlich, dass ein einzelner Begriff-Abfrage würde schnell wieder die top-k, aber wenn es multi-Begriff, hätten Sie Durchlaufen die ganze Listen zu finden, die insersection gesetzt, denn die Listen sind nicht sortiert nach docId, wie in der Lucene-Papier-Fall)
  • Ich weiß nicht, wie das tatsächlich funktioniert, aber wenn Sie wollen, um früh-Abfrage Kündigung, sollten Sie die index-Reihenfolge (doc-ids) übereinstimmen, die Relevanz (pagerank in Ihrem Fall), um zumindest auf der pro-segment-basis. Dies würde Ihr problem lösen, für multi-Begriff Abfragen.
InformationsquelleAutor teddy teddy | 2012-04-25
Schreibe einen Kommentar