Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: robertpp am 14.07.04 - 09:00:31

Titel: [Web] Search nur in bestimmten Felder
Beitrag von: robertpp am 14.07.04 - 09:00:31
Ich habe ein Web-Application die Volltextindexed ist und hab jetzt die Anfrage bekommen, bei der Suche nur in definieten Feldern zu suchen. Ist das möglich?

Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Thomas Schulte am 14.07.04 - 09:11:21
JA klar ist das möglich. Eine mögliche Lösung findest du hier <url>http://www-10.lotus.com/ldd/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/5c675c29463075ba85256d16004b4fc3?OpenDocument</url>
und eine Abfrage im Notes.Net mit "web AND Search AND Field" hilft auch weiter.

Thomas
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: robertpp am 14.07.04 - 09:26:44
Ja und gibt es da die Möglichkeit dass ich mir das Feld mittels umschalten auch aussuchen kann. Denn ich hab eigentlich 5 Felder aber es soll pro suche nur in einem Feld gesucht werden und dann startet der user eine neue suchen und will das andere Feld durchsuchen.
Muss ich mir da für jedes Feld eine eigene Form $$Search machen oder geht das mit einer wo ich das Feld auswählen kann?
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Thomas Schulte am 14.07.04 - 09:39:27
Du musst dir eigentlich nur den Suchbegriff in Abhängigkeit von den Eingaben deines Benutzers zusammenstöppeln. Ein Beispiel dafür hab ich jetzt nicht hier, das liegt daheim aber gemacht hab ich so etwas schon einmal.

Thomas
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: robertpp am 14.07.04 - 09:51:23
Das Problem dabei ist das der Benutzer sagt er will im Feld "Fachbereiche" nach "F&E" suchen. So nun weiß er aber zb nicht wie der Feldname heißt. Jetzt müsste ich mir eine Ansicht machen wo zb "Fachbereiche" mit dem wirklichen Feldnamen "Category" verknüpft wird und dann eben nur das Feld verwendet wird????
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Driri am 14.07.04 - 10:13:51
Hi,

gib dem User die Auswahl, in welchem Feld er suchen will einfach per Dropdown oder Option.
Die Werte dann einfach so eintragen, daß als Alias der Feldname hinterlegt ist, also z.B. :

Fachbereiche|Category

Im $$Return bastelst Du dir dann die URL für den Aufruf der Suche zusammen, also z.B. :

"[[/db.nsf/Searchview/?SearchView&Query="+"["+Optionsfeld+"]="+Suchbegriff+"]]"

Edit : Die eckigen Klammern vorne und hinten müssen doppelt sein, das wird irgendwie vom Forum verschluckt.

Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Thomas Schulte am 14.07.04 - 10:16:24
Wenn das bis heute Abend Zeit hat, kann ich dir ein Beispiel geben. Außerdem Hat Rose Keheller in Ihrem Buch Advanced Domino 5 Web Programming auch ein gutes Beispiel dazu abgeliefert.

Thomas

Nachtrag; Driri hat Recht. Das ist eine Möglichkeit das zu lösen.
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: robertpp am 14.07.04 - 16:28:18
Hallo Driri, Thomas,

Danke für die Hilfe.

@Driri
Deine vorgeschlagene Idee ist super. Das mit dem der Combobox ist echt klasse. Nachdem ich ja eh schon die Suchmaske hatte, hab ich nur das $$Return-Field mit dem Wert ="+"["+Optionsfeld+"]="+ erweitern müssen.  ;D
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: robertpp am 15.07.04 - 16:48:16
So jetzt ist doch noch ein Problem aufgetreten.
Mein Combo-Feld hat derzeit fix diese Werte:
Fachbereich | WebCategories
Antragsberechtige | OfferQualified
Kooperationspficht | Cooperation
Standort | Location
Förderinstrument | AidDevice

Jetzt möchte ich aber die Wert über eine View machen und dann mit der Formel:

"<-- Please select a category -->":@Unique(@DbColumn("":"nocache"; ""; "Categories"; 1));
Aber wie bekomm ich dann die Aliase die ich oben ja gehabt habe?
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Driri am 15.07.04 - 17:38:39
Bau die View so auf, daß in der zweiten Spalte der Alias angezeigt wird und hol dir den dann per @DBLookup.
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: robertpp am 15.07.04 - 18:37:18
Ja das geht aber es entsteht gleich das nächste Problem.

Bis jetzt hab ich nur das eine Combo-Feld (Fachbereiche|Category ) in der Suchmaske gehabt und ein Feld wo man freien suchtext eingibt.
Jetzt muss ich das aber so anpassen wenn im Combofeld eben Fachbereiche|Category auswähle dass dann in einem Zweiten Combofeld nur noch die Werte drinnen stehen die jemals in dem feld Category eingegeben wurde und dort wird ein wert ausgesucht der dann als suchtext gilt. ??? ???
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Driri am 16.07.04 - 10:25:21
Soll der ganze Spaß dynamisch sein oder bleiben die am ANfang erwähnten 5 Felder für die Suche ?

Wenns bei den 5 Feldern bleibt, einfach das die zweite Combobox über ein @DBColumn füllen, d.h. Du baust Dir 5 Views auf, die jeweils die Werte der Felder enthalten und ziehst Dir dann in Abhängigkeit vom Wert aus Combobox 1 per

@Unique(@DBColumn(...))

die Werte für Combobox 2.
Titel: Andere und vielleicht, abhängig von der Anzahl der Dokumente schnellere
Beitrag von: Thomas Schulte am 16.07.04 - 18:44:17
Lösung:

du baust dir ein Konfigurationsdokument in dem du die Schlüsselwort, Aliaspaare in einem Feld einträgst. Beim Öffnen deines Suchdokumentes nimmst du ein verstecktes Feld mit auf, das diesen Wert erhält. Beim Abschicken der Suche gehst du beim zusammenbau des Suchbegriffes so vor, das du dir aufgrund des geählten Begriffes den Alias aus dieser Liste holst und damit dann deine Suche startest.

Ist vor allem im Web wesentlich performanter als mit @dblookup rumzuspielen.

Thomas
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Marinero Atlántico am 16.07.04 - 19:01:18
wenn mich nicht alles täuscht, wird das in diesem Artikel beschrieben:
http://www-10.lotus.com/ldd/today.nsf/Lookup/e-commerce_1 (http://www-10.lotus.com/ldd/today.nsf/Lookup/e-commerce_1)
... oder hab ich was verpasst :)

Gruß Axel
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: animate am 16.07.04 - 20:17:22
wenn mich nicht alles täuscht, wird das in diesem Artikel beschrieben:
http://www-10.lotus.com/ldd/today.nsf/Lookup/e-commerce_1 (http://www-10.lotus.com/ldd/today.nsf/Lookup/e-commerce_1)
... oder hab ich was verpasst :)

Gruß Axel

stimmt schon. da hab ichs auch abgeguckt.
das ist eine 3-Artikel-Reihe und irgendwo da drin ist das schön beschrieben.
Naja, die verwenden da kein CSS, das ist vielleicht nicht so schön ;D
Titel: Re:[Web] Search nur in bestimmten Felder
Beitrag von: Thomas Schulte am 17.07.04 - 09:16:45
Axel du täuscht dich nicht, ich musste zwar noch einmal nachschauen, aber da ist eine ähnliche Methode beschrieben.

Urheberrechte habe ich aber auf die Idee ja sowieso keine angemeldet.

Thomas