Deutschland United States United Kingdom
ContentLion - Open Source CMS

QA CustomSearch

QA CustomSearch

Eine Suchfunktion für ContentLion

Code: http://code.contentlion.de/Plugin+Custom+Search/

Mein Feedback:
- Das mit den Seitentyp gefällt mir, so kann der User selbst aussuchen, was zu Durchsuchen ist
- Stell das mal so um, dass die Rechte beachtet werden. Musst mit Join auf die role_rights Tabelle gehen. Wenn jemand keinen Zugriff hat, brauch er die auch nicht zu finden.
- MySQL bietet eine extra Funktion für Suchen. So kannst du die Ergebnisse nach Relevanz sortieren. Dafür musst du einen FULLTEXT-Index auf die zu durchsuchenden Spalten anlegen. Query kann dann ungefähr so sein:

MySQL-Abfrage(n)

1
2
3
4
SELECT title, MATCH (content) AGAINST ('suchbegriff') AS relevance
FROM cl_pages
WHERE MATCH (content) AGAINST ('suchbegriff' IN BOOLEAN MODE)
HAVING relevance > 0.2 ORDER BY relevance DESC LIMIT 0 , 30

- Beim Bearbeiten der Suche sieht es etwas selsam aus, wenn alles fett ist. Mach das mal dünn, die Überschrift kannste ja so lassen.
- Vielleicht kannste da auch noch nen Code ausgeben, den man in seinem Skin platzieren kann, um die Suche anzuzeigen
- Benutzer würde ich Standardmäßig deaktivieren, ist oft nicht gewünscht.
- Im Suchergebnis würde ich die Überschriften rauslassen, sieht dann etwas schöner aus, wenn er bei einem nichts findet zum Beispiel
- Wenn nichts gefunden wird, sollte man am besten eine Meldung anzeigen lassen. Kannste ja im Seitentyp nen Textfeld für einbauen.
- Könntest du bei den Seiten evtl. noch die Meta-Description mit anzeigen? Kommst du über die Tabelle meta_local dran.

- Stell das mal so um, dass die Rechte beachtet werden. Musst mit Join auf die role_rights Tabelle gehen. Wenn jemand keinen Zugriff hat, brauch er die auch nicht zu finden.


Woaaah du MySQL Fetischist ich hasse komplizierte SQL Abfragen ^^aber werde ich umsetzen -> macht durchaus auch Sinn.

- MySQL bietet eine extra Funktion für Suchen. So kannst du die Ergebnisse nach Relevanz sortieren. Dafür musst du einen FULLTEXT-Index auf die zu durchsuchenden Spalten anlegen.


Cooles Ding, kannte ich gar nicht. Hab ich bereits umgesetzt (noch nicht comitted)

- Beim Bearbeiten der Suche sieht es etwas selsam aus, wenn alles fett ist. Mach das mal dünn, die Überschrift kannste ja so lassen.


Ich war wohl auf Drogen...? Geändert (noch nicht comitted)

- Benutzer würde ich Standardmäßig deaktivieren, ist oft nicht gewünscht.


Es gibt keine Standardeinstellungen. Standardmässig sind alle Checkboxen leer ;)

- Wenn nichts gefunden wird, sollte man am besten eine Meldung anzeigen lassen. Kannste ja im Seitentyp nen Textfeld für einbauen.


Selbstverständlich ^^ kann ich machen

- Könntest du bei den Seiten evtl. noch die Meta-Description mit anzeigen? Kommst du über die Tabelle meta_local dran.


Bereits umgesetzt, danke für die Idee!
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display

Lol, die Standardeinstellungen hab ich dann bestimmt intuitiv alle angehakt XD. Bin gespannt. Werde es dann vielleicht auch auf contentlion.de einsetzen.

SVN Update:

Vor dem Updaten auf deinem Testsystem, das "alte" Plugin deaktivieren, danach das "update" neu aktivieren.

Folgendes ist nun anders:

  • Die Rechte bei der Suche werden nun beachten (role_rights Tabelle)
  • Neues Suchsystem nach deinen Vorgaben ;) MATCH und so ;)
  • Optische überarbeitung der Einstellungen im Seitentyp
  • Selbstdefinierbare Fehlermeldung falls keine Ergebnisse gefunden wurden
  • Optische überarbeitung bei der Suchausgabe
  • Es wird nun ein Beispielcode angezeigt, den man in seinen Skin übertragen kann.


Einen Bug hab ich selber noch gefunden. Eventuell möchten ja gewisse Leute mehr als eine Seite zum Suchen anlegen. Z.B. eine separate nur für den Adminbereich. Mit anderen Einstellungen als die erste Suchseite. Bisher wurden die Einstellungen bei einer neuen Seite immer überschrieben <- dieses Problem ist auch behoben ;)
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display

Alles klar, kommt wieder auf die Liste :-)

Gefällt mir jetzt schon ganz gut.

Nur noch zwei Kleinigkeiten:
- Solltest noch htmlentities benutzen. Wenn du z.B. in die Meta-Description ein </li><li> einbaust, hast nen neuen Punkt ;-)
- Und CSS-Klassen wären ganz cool (Namespaces beachten), so können die Skins das Design per CSS anpassen, ohne das Template überschreiben zu müssen.

In deiner nächsten Version kannste ja noch ne API einbauen, mit der auch andere Plugins eine Suche starten / die Suche erweitern können, muss aber erstmal noch nicht.

EDIT: Hab doch noch was:
Die Bilder werden aktuell Quadratisch verzerrt. Vielleicht kannst du das noch geschicktere lösen (am besten mit CSS). Könnte über nen Div als Hintergrundbild gut gehen, so kannste trotzdem noch nen Quadrat bekommen. Die Größe selbst dann am besten auch per CSS, damit man die Bilder auch größer darstellen kann.

SVN Update..
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display