2017-09-21 7 views
2

Wir verwenden Lucene Suche nach einem unserer Projekte. Die Website wächst schnell und benötigt Suchverbesserung. Eine wichtige Sache ist, Aktualität und Relevanz zu mischen.Sitecore Lucene + Query Boosing auf dem berechneten Datum Feld

Momentan findet die Suche nach vom Benutzer eingegebenen Schlüsselbegriffen in bestimmten Feldern (wie Seitentitel, Inhalt usw.) statt und Ergebnisse mit der höchsten Punktzahl werden zurückgegeben.

Im Moment findet der Benutzer diese Ergebnisse nicht sehr nützlich, da sie Artikel von alten Daten auf der Oberseite sehen. Obwohl der Inhalt relevant ist, ist er nicht neu.

Wir müssen die Suchergebnisse erhöhen, um das veröffentlichte/aktualisierte Datum einzubeziehen. Wir haben eine berechnete Spalte (publisheddupdateddate) dafür, wie kann es verwendet werden, um die Suchergebnisse mit Hilfe der Abfragezeit zu erhöhen?

Wenn keine Zeit abfragen, haben wir keine andere Weise haben die Daten enthalten, während die Partitur für ein Element der Berechnung ...

bitte raten

Antwort

0

Berechnete Felder in der Regel erstellt, um uns hinzufügen zusätzliche Daten zum Index. Sie können die Zeit der Abfragen nur verbessern, wenn Sie die Abfragen vereinfachen. Wenn Sie schneller Ergebnisse erzielen möchten, sollten Sie versuchen, SOLR oder einen Cache zu verwenden - aber es ist schwierig, den richtigen Pfad auszuwählen, wenn wir nicht wissen, wie groß die Datenmenge dort ist und wie komplex Ihre Abfragen sind.

0

Sie können eine Form der Datumsbewertung erstellen, indem Sie einfach die standardmäßige Sitecore-Such-API verwenden. Durch die Zugabe von mehreren OR-Bedingungen jeweils auf unterschiedliche Datumsbänder dh

UND (Title = search OR author = search) und ( Publish> dateTime.Now.AddDays (-7) OR Publish> dateTime.Now.AddDays (-30) OR Publish> dateTime.Now.AddDays (-90) OR Publish> dateTime.Now.AddDays (-180) OR Publish> dateTime.Now.AddDays (-365) )

In dem obigen Beispiel werden Artikel, die 3 Tage alt sind, eine 5-fache Übereinstimmung mit allen 5 Datumsangaben erhalten Bedingungen. Ein Artikel aus 9 Monaten wird nur einmal aus dem <-365 Zustand punkten. Ein Artikel über 365 Tage würde vollständig ausgeschlossen werden, da die äußere UND-Bedingung die Übereinstimmung mindestens einer dieser Datumsbedingungen voraussetzt. Wenn Sie dies auf ODER umdrehen, bedeutet das, dass wir die Relevanz nur hinzufügen, wenn die Dinge übereinstimmen sie nicht.

Verwandte Themen