Wir arbeiten an Web-Anwendung mit einem Suchmodell.Fragen Sie nach einem Entwurfsmuster
Im Such-Servlet erfasst es die Anfrageparameter vom Client und erstellt dann eine Suchfrage im Ruhezustand für die Suche.
Jetzt ist das Problem, die Parameter aus dem Client sind veränderbar !.
Alle Parameter, die wir akzeptiert werden wie folgt aufgeführt:
1) Stichwort.
Die Schlüsselwörter, die für die Suche verwendet werden, eine Suchanforderung kann verarbeitet werden, auch wenn nur dieser Parameter übergeben wird. Valid Beispiel:
/search?keyword="test"
2) lowleftX, lowleftY, upperrightX, upperrightY.
Diese vier Parameter müssen gleichzeitig oder nie auftreten. Da diese vier Parameter für eine TermRangeQuery in lucene verwendet werden. Wenn einer von ihnen auftritt, müssen auch die restlichen drei auftreten. Und diese vier Parameter können gleichzeitig mit dem "Schlüsselwort" auftreten. Gültiges Beispiel:
/search?lowleftX=10&lowleftY=10&upperrightX=40&upperrightY=30
/search?lowleftX=10&lowleftY=10&upperrightX=40&upperrightY=30&keyword="test"
3) Kategorie
Dies wird verwendet, den Suchbereich zu begrenzen (Suche nur in der Sonderkategorie).
4) starten, begrenzen
Diese beiden Parameter für das Paging verwendet wird.
5) returnFields
Die returnFields, die aus dem Index retivived wird (wenn es in dem Index gespeichert ist) und zurück an den Client.
So habe ich keine Ahnung, wie Sie die Abfrage mit der Schätzungssyntax erstellen (wenn .... sonst .... wenn ...).
Jeder kann mir sagen, wie?