Etwas mehr Spezifität Ihres genauen Problems sei gut. Es gibt viele verschiedene Techniken, die Sie verwenden können. Viele davon werden von anderen Daten getrieben. Sie können natürlich Lucene verwenden und eigene Indizes erstellen. Es gibt Bindungen für viele Sprachen zu Lucene. Weiter geht es mit dem Solr Projekt, das Lucene ist, mit vielen Tools und zusätzlicher Funktionalität. Das kann mehr nach dem sein, wonach Sie suchen.
Absicht ist schwierig und die meisten modernen Suchmaschinen verlassen sich auf statistische Absicht, um bei der Reihenfolge der Ergebnisse zu helfen. Sie können immer einen nützlichen Knopf haben und den Abfragetext speichern, der zu nützlichen Dokumenten führt. Sie können dann dem Index eine Informationsschicht hinzufügen, um bestimmte Wörter oder Ausdrücke zu verstärken und sie auf bestimmte Dokumente verweisen zu lassen.
Einige Dinge zum Nachdenken ... Wie viele Dokumente? Was ist die durchschnittliche Länge? Werden sie häufig aktualisiert? Was machen Benutzer mit den Dokumenten? Wie sieht die Verbreitung von eindeutigen Wörtern in Dokumenten aus? (Einfacher ist es einfach, eine Abfrage mit einem bestimmten Dokument basierend auf gemeinsamen einzigartigen Funktionen zu vergleichen.)
Wenn es im Web ist, können Sie immer eine benutzerdefinierte Google-Suchmaschine, die nur Ihre Website obwohl Sie sucht kann dies aus verschiedenen Gründen als nicht optimal empfinden.
Sie können immer mit einem einfachen Index beginnen und ihn schrittweise verfeinern, indem Sie mit Benutzern sprechen und Daten erfassen.