[gelöst] Konzept: Welchen Aufbau benötige ich für meine Community-Suche
am 08.08.2015 - 11:29 Uhr in
Hallo zusammen,
kurz mein Szenario:
Ich habe eine Seite und dort können sich Mitglieder registrieren und andere können nach Mitgliedern suchen. Die Mitglieder können zum Beispiel Ihre Arbeitsschwerpunkte eintragen.
Was ich möchte:
Auf der Startseite brauche ich ein Suchfeld, das (mit Autocomplete) alle (zumindestens aber die meisten) dieser Felder durchsucht. So will ich nach Namen oder aber auch nach Profileigenschaften, wie zum Beispiel Themengebieten suchen können.
Was ich ausprobiert habe:
Ich habe das Modul autocomplete installiert, bin aber nie in der Lage anzugeben, in welchen Feldern diese Suche funktionieren soll (existierender Beitrag ist zwar da http://www.drupalcenter.de/node/49244 aber auch noch ungelöst). Dann habe ich versucht die Felder einfach im Profil anzulegen, das hat zwar geklappt, aber ich konnte diese nicht durchsuchen. Jetzt bin ich durch einen anderen Beitrag (http://www.drupalcenter.de/node/45907) noch auf Profilplus aufmerksam geworden und ja, die Felder die ich mit diesem Modul angebe (also über admin/config/people/profile) die kann ich durchsuchen - leider aber ohne autocomplete!
- Was mir jetzt super helfen würde, wäre die Antwort von einem Experten, der solche Seiten öfters aufsetzt: Welche Module und welche EInstellungen benötige ich, damit ich meinen Suchwunsch (s.o.) durchführen kann?
- Die Felder in Profilplus, die ich anlegen kann, enthalten leider keine Listen, bei denen ich mehrere vorgegebene Antworten selektieren kann. Wie mache ich das?
- Kann ich in den Ergebnisse auch Suchbegriffe (zum Beispiel Themengebiet XYZ) per Link unterlegen, so dass alle Profile die XYZ haben aufgelistet werden?
Im Voraus schon mal besten Dank!
- Anmelden oder Registrieren um Kommentare zu schreiben
Tipp: Search_Api
am 08.08.2015 - 13:17 Uhr
Mit Search_Api und ergänzenden Modulen lässt sich das professionell realisieren und auch performant betreiben, wenn man als Search Backend Apache Solr einsetzt.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Mit dem Modul search_api_db
am 08.08.2015 - 13:41 Uhr
Mit dem Modul [do:search_api_db] geht für kleinere Installationen auch vieles ohne Solr.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo, Danke für eure Links &
am 08.08.2015 - 15:30 Uhr
Hallo,
Danke für eure Links & Rückmeldungen!
also okey, ich habe beide Module einmal installiert.
Dann habe ich einen "Server" angelegt, der die Datenbank durchsucht. (so wie hier beschrieben https://modulesunraveled.com/search-api/installing-and-enabling-search-a...). Dann habe ich auch noch search pages installiert.
Was mir jetzt nicht klar ist:
- Wenn ich dem Video hier folge (https://modulesunraveled.com/search-api/creating-search-api-index) und auch bei mir den Search Index für User anlege, dann habe ich aber KEINE Möglichkeit MEINE Felder auszuwählen und in den Index aufzunehmen. Es sind nur Standardfelder.
Was mache ich falsch?
--- Web | Twitter | XING ---
Ich kenne das Video nicht ...
am 08.08.2015 - 16:56 Uhr
... und habe auch keine Zeit, es anzuschauen. Das macht es mir nicht leicht, die Frage zu beantworten, was denn falsch gemacht wird. Aus der Erfahrung würde ich aber vermuten, daß Konfigurationsmöglichkeiten – die zugegeben nicht gerade leicht erfassbar sind – übersehen wurden.
Grundsätzlich kann man in Search_API sehr viele Daten und auch Verknüpfungen erreichen, bzw. in einen Index bekommen. Allerdings ist das teilweise nicht so leicht zu erkennen und hat Ähnlichkeit mit den Relations in Views. Besondere Entitäten wie z.B. vom Field-Collection-Modul benötigen teilweise ein paar Zeilen Code in einem Custom Modul, aber das wird bei User-Feldern wohl nicht nötig sein.
Aber selbst wenn die Daten Drupal gar nicht bekannt sind (z.B. auch einer Fremd-Datenbank kommen), kann man mit Custom Code diese in den Suchindex laden und dann z.B. mit Views anzeigen oder eben in der Suche nutzen.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Du mußt erst den Index
am 08.08.2015 - 18:32 Uhr
Du mußt erst den Index definieren und dabei Auswählen, daß er sich auf User beziehen soll. Danach kannst Du sagen, welche Felder der Index berücksichtigen soll (nicht mehr als 64!!). Du kannst aber auch für eine Volltextsuche ein Aggregationsfeld definieren, in welchem Du alle interessanten Textfelder vereinigst. Dieses Feld wird dann indiziert und kann im Search-View als hervorgehobener Text-Filter dienen. Du mußt mit den Möglichkeiten einfach mal spielen.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Werner, ja genau das
am 08.08.2015 - 19:16 Uhr
Hallo Werner,
ja genau das habe ich auch gemacht.
ich habe unter admin/config/search/search_api auf den "+ add index" Button geklickt und dann einen Namen gegeben, "enabled" aktiviert und den Server ausgewählt (meine Datenbank). Dann kommen die "Fields" dran und dort kann ich auswählen: User ID, Name, Email, URL, Edit URL, Last access,
Last login, Created, User roles, Status, Default theme und Item language.
Das war es dann, hier gibt es keine andere Möglichkeit Felder auszuwählen. Fehlt mir hier vielleicht doch noch ein anderes Modul? Muss ich irgendein Profile-Module doch noch dazu installieren? Vielleicht werden dann andere Felder angezeigt?
Vielen Dank die Mühe!
--- Web | Twitter | XING ---
Hast Du die Felder denn beim
am 08.08.2015 - 22:19 Uhr
Hast Du die Felder denn beim User definiert (Konfiguration > Benutzer > Kontoeinstellungen > Felder verwalten)? Diese Felder solltest Du sehen können (bei mir war ein dort eingetragenes Feld jedenfalls im Index wählbar).
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo, Fehler gefunden - ich
am 08.08.2015 - 23:22 Uhr
Hallo,
Fehler gefunden - ich hatte die Felder zwar angelegt, aber nicht in dieser Maske, sondern beim Profilplus. Über den Weg von dir funktioniert es. Das ist so prima, dann nutze ich das genau. Da es auch nicht viele Daten sind, geht das mit der DB statt Solr auch noch.
Ganz recht herzlichen Dank!
--- Web | Twitter | XING ---