JoSt
I'm new here

Basic Search - Lucene Suche auf mehreren Feldern

Hallo zusammen,

aktuell haben wir eine Suche in Betrieb, die auf dem Lucene-Index ausschließlich das Feld "content" beachtet (Default).  Derzeit werden zum Beispiel HTML-Keywords nicht berücksichtigt, da diese in das Feld "keywords" geschrieben werden. Eine Suche kann so entweder auf content oder keywords ausgeführt werde, jedoch nicht in Kombination.

Ist es möglich auch auf mehreren Feldern gleichzeitig zu suchen und ein entsprechendes Suchergebnis zu erhalten?

Viele Grüße

Johannes Steck

0 Kudos
8 Replies
dheim
I'm new here

Ich glaube das ist mit der Basic Search nicht möglich. Wir haben das in einem aktuellen Projekt zweistufig umgesetzt. Zuerst wird nach dem content-Feld gesucht, gibt es hier keine Treffer werden die Keywords durchsucht, aber ein konsilidiertes Ergebnis ist wohl out-of-the-box nicht möglich.

0 Kudos

Hallo Herr Steck,

konnte Ihnen die Antwort von Herrn Heim weiterhelfen oder benötigen Sie noch weitere Antworten?

Viele Grüße

Michaela

0 Kudos

Wir haben nun zunächst versucht mit Hilfe des MultiEngineProxy zwei mal auf dem gleichen Index, aber auf verschiedenen Feldern zu suchen und das zusammengeführte Ergebnis zu verwenden. Damit kann man die Suchanfrage mit einem Aufruf durchführen.

Prinzipiell funktioniert das gut, jedoch können Dubletten (verschiedene Ergebnisse mit gleicher URL) entstehen, wenn die gleiche Seite Treffer im Content und in den Keywords hat. Bei Ergebnissen, die auf mehrere Ergebnisseiten verteilt werden ist das Filtern der Dubletten leider nicht so trivial.

Gibt es eine Möglichkeit schon bei der automatischen Zusammenführung ein Entfernen der Dubletten zu erreichen? Oder hat jemand eine Idee, wie die Dubletten per JSP performant entfernt werden können (in Anbetracht mehrerer Ergebnisseiten)?

0 Kudos

Hallo Johannes,

wäre in deinem Fall nicht auch eine zweistufige Lösung möglich wie sie Dominik angerissen hat?

Das nachträglich filtern von Dupletten ist meiner Meinung nicht praktikable, es muss zu viel beachtet werden. Gerade bei Ergebnissen, die über mehrere Seite wird es komplex.

Viele Grüße

Thorsten

0 Kudos

Hallo Thorsten,

leider ist das in unserem Fall nicht zielführend, da es aufgrund der großen Anzahl der Seiten und Dokumente im Suchraum praktisch immer einen Treffer im Content gibt, sodass die Keywords dann nur in sehr seltenen Ausnahmefällen durchsucht würden (in denen dann höchstwahrscheinlich auch kein Treffer vorliegt).

0 Kudos
marro
Crownpeak employee

Hallo Johannes,

mir ist Dein Einwand hier nicht ganz klar. Sobald Du einen Treffer im Content hast, müssen die Keywords ja gar nicht mehr durchsucht werden, weil die Seite bzw. das Dokument doch dann richtigerweise bereits in der Ergebnisliste landet. Oder sehe ich das falsch?

Viele Grüße

Donato

0 Kudos

Hallo Donato,

Ein Treffer kann ja auf vielen Seiten vorliegen, nicht nur auf der eigentlich gesuchten (auf der das entsprechende Keyword vergeben wäre). Wenn nun ein Treffer im Content auf einer Seite vorliegt, und die Seite, die das gesuchte Wort nur in den Keywords hat, nicht dabei ist, wird dieses Seite natürlich auch nicht in den Ergebnissen aufgeführt.

Gruß

Johannes

0 Kudos
marro
Crownpeak employee

Hallo Johannes,

ich denke, ihr braucht so etwas wie das hier: http://stackoverflow.com/questions/8844497/how-to-use-multifieldqueryparser-from-lucene

Da ich aber kein Experte auf dem Gebiet bin, kann ich Dir leider nicht sagen, wie man dies in Verbindung mit der Basic Search verwenden kann..

Viele Grüße

Donato

0 Kudos