Ergebnis 1 bis 19 von 19

Thema: Suche in MetaModels

  1. #1
    Alter Contao-Hase
    Registriert seit
    28.09.2010.
    Beiträge
    1.368

    Standard Suche in MetaModels

    Hallo,

    ich möchte gerne eine Suche über die Datensätze eines MM einsetzen - dabei aber nicht die "normale" Suche verwenden, sondern die anderen Seiten der Contao-Installation ausschließen. Interessant wäre auch die Variante, falls man mehrere verschiedenen MM hat - das man auswählen kann, aus welchem MM die Ergebnisse kommen sollen.

    Oder geht das schon?


    Zusatz: die Suche müsste auch sprachrelevant funktionieren ....

    Danke schonmal


    mark
    Geändert von Mark Knochen (17.12.2013 um 21:55 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    19.12.2013.
    Beiträge
    96

    Standard

    Das geht doch ganz einfach mit dem MetaModels Filtern http://de.contaowiki.org/MetaModels_Beispiel_3

  3. #3
    Contao-Nutzer Avatar von RaLey
    Registriert seit
    24.11.2012.
    Ort
    Arnsberg
    Beiträge
    96
    Partner-ID
    9133

    Standard

    OK, wie die Filter grundegend funktionieren, ist mir nun einigermaßen klar. Hab nur gerade keinen Durchblick, was die Einbindung einer Volltextsuche über ein MetaModel angeht. Weiss da jemand weiter? )-;

  4. #4
    Contao-Nutzer Avatar von RaLey
    Registriert seit
    24.11.2012.
    Ort
    Arnsberg
    Beiträge
    96
    Partner-ID
    9133

    Standard

    So wie ich das soeben in anderen Threads verfolgt habe, ist der "Textfilter" schon das richtige Werkzeug. Kann es sein, dass dieser jedoch noch nicht richtig funktioniert? Geht einfach nur darum, dass ich eine Volltextsuche über insgesamt 3 Felder benötige )-; Bin über jede Hilfe dankbar ...

  5. #5
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    So wie ich das gehört habe, funktioniert das noch nicht (kann mich aber auch irren (kommt aber sehr selten vor)).
    Der Grund: "Textsuche" hört sich ganz einfach an, scheint aber komplexer zu sein als man denkt.

  6. #6
    Contao-Nutzer Avatar von RaLey
    Registriert seit
    24.11.2012.
    Ort
    Arnsberg
    Beiträge
    96
    Partner-ID
    9133

    Standard

    Hmmm... benötige das für eine 2.11er-Contao-Version. Ggf. nutze ich dann doch lieber den catalog, auch wenn´s generell blöd ist (-; Ist eigentlich eine recht kleine DB-Anwendung ... Schade!

  7. #7
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi,

    schau dir mal unseren textcombine-Filter an, der ermöglicht eigentlich genau das was du brauchst: https://github.com/cogizz/metamodelsfilter_textcombine der Master ist für Contao 2.11.X.

  8. #8
    Contao-Nutzer Avatar von RaLey
    Registriert seit
    24.11.2012.
    Ort
    Arnsberg
    Beiträge
    96
    Partner-ID
    9133

    Standard

    Hallo typo,

    danke für diesen klasse Tipp!

  9. #9
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    HTML Volltextsuche für MM auf Basis metamodelsfilter_textcombine

    Hallo zusammen,
    Ich suche für ein MM Projekt auch eine Volltextsuche auf drei MM Produktkategorien und Sprachen.
    Kannst mir jemand sagen, ob das mit der metamodelsfilter_textcombine Erweiterung erreicht werden kann und
    ob die Erweiterung/Modul unter Contao 3.1.x einzusetzen ist.

    Falls jemand schon eine Live Version von MM und metamodelsfilter_textcombine am laufen hat,
    würde ich mir die gerne mal ansehen (PM oder Link hier im Forum).

    Viele Grüße

    Markus
    Geändert von mschindler (21.01.2014 um 14:49 Uhr)
    Contao Partner aus Rosenheim und München
    codesache.de
    ---
    Mitglied der Contao Community Bayern
    Aktuelle Termine zur Contao Community Bayern: contao-bayern.de

  10. #10
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi,

    du könntest mal den Contao3 Branch testen, der ist zwar noch Beta, sollte aber grundsätzlich funktionieren: https://github.com/cogizz/metamodels...e/tree/contao3

    Viele Grüße

    Chris

  11. #11
    Contao-Nutzer Avatar von mschindler
    Registriert seit
    25.08.2011.
    Ort
    Bad Feilnbach
    Beiträge
    191
    Partner-ID
    7698

    Fehler Suche auf Translatedtext und Translatedlongtext im MM

    Hallo zusammen,
    ich habe das Modul für die Suche im meiner Testumgebung unter 2.11.16 zum laufen gebracht.
    Leider ist die Suche noch nicht für übersetzte Textfelder zu verwenden.
    In dem MM das ich dazu angelegt habe erscheinen mir nur die normalen (nicht übersetzten Texte) Textfelder.
    Translatedtext und Translatedlongtext stehen nicht zur Auswahl.

    Hat jemand dazu eine andere Lösung oder Tipp wie eine Suche auch auf übersetzte Langtextfelder realisiert werden kann.

    MM-Suche.jpg

    Viele Grüße

    Markus

  12. #12
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard Metamodels Textfilter Suchtyp (exakte Suche)

    Hallo zusammen

    Ich habe mal die verschiedenen Suchtypen (von Textfilter) bei metamodels/bundle_all 2.0.0 ausprobiert.
    Mein Ziel: Wenn ich "Wort1 Wort2" (mit oder ohne Anführungszeichen) im Textfeld eingebe, soll die Suche mir nur die Datensätze ausgeben, die "Wort1 Wort2" in genau dieser Reihenfolge beinhalten.

    Situation: Das durchsuchte Attribut ist ein longtext. Also mit ganzen Sätzen und Satzzeichen.

    Versuche:
    • Suchtyp "suche einige Wörter (ODER)":
      "Wort1 Wort2" ergibt alle Resultate die "Wort1" oder "Wort2" oder "Wort1 Wort2" beinhalten.
      "Wort1, Wort2" ergibt aber ein anderes Resultat. Wieso? Wird das Komma zum Wort1 gezählt?
    • Suchtyp "exakte Suche":
      "Wort1 Wort2" ergibt keine Suchresultate, obwohl das im durchsuchten Feld so existiert und exakt "Wort1 und Wort2" im Feld gespeichert ist, und nicht mehr.
    • Suchtyp "suche alle Wörter (UND)":
      "Wort1 Wort2" ergibt (Wie bei ODER) alle Resultate die "Wort1" oder "Wort2" oder "Wort1 Wort2" beinhalten.


    Alles jeweils mit und ohne Anführungszeichen getestet und bei jeder Umstellung des Suchtyps den Suchindex unter der Systemwartung neu aufgebaut.
    Ebenfalls Metamodels-Cache, Contao-Seitencache, Contao-Suchcache, internen Cache und Browsercache geleert. Dann Cache neu aufgebaut und Suchindex neu aufgebaut.

    UND / ODER sind die logischen UND / ODER, richtig?

    --> Die Suchtypen "UND" und "exakte Suche" scheinen nicht wirklich zu funktionieren.

    Help... anyone?

    Liebe Grüsse
    Nick
    Geändert von 4lmnts (11.12.2017 um 10:45 Uhr)

  13. #13
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    vorab: der Suchindex von Contao hat mit der MM-Suche nichts zu schaffen - man kann die MM-Detailseiten der normalen Contao-Suche hinzufügen über die Idexierung (eigenes Icon)


    UND und ODER arbeiten als "und und oder" - über den Delimeter kann man eine Wortgruppe in Einzelteile "zerschneiden" und separat suchen ... "Wort1" und "Wort1," sind zwei verschiedene "Wörter"

    ggf. ist das Modul Levenshtein besser geeignet für Deine Suche

  14. #14
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    Heisst das, eine "exakte Suche" wie beispielsweise bei Google (exact phrase) mit Anführungszeichen ist mit dem metamodels textfilter gar nicht möglich? Ich nehme an, ohne es getestet zu haben, muss man dann die Suchfunktion separiert vom metamodles-filterset einbauen?

  15. #15
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    die Suche ist per MySQL-like https://dev.mysql.com/doc/refman/5.7...-matching.html - that´s all...

    mit dem "Delimeter" werden die Worte in einzelne Terme unterteilt und per AND bzw. OR abgefragt

    Jede Suchmaschine hat da eine eigene Retrieve-Syntax!

  16. #16
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    Kann man denn die Delimiter sozusagen entfernen oder wo muss man ansetzen, dass die "exakte Suche" den eingegebenen Such-String als Ganzes sucht, ohne Delimiter?
    (Das ist eine saublöde Anforderung, ich weiss, aber der Kunde ist stur.)

  17. #17
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von 4lmnts Beitrag anzeigen
    Kann man denn die Delimiter sozusagen entfernen oder wo muss man ansetzen, dass die "exakte Suche" den eingegebenen Such-String als Ganzes sucht, ohne Delimiter?
    (Das ist eine saublöde Anforderung, ich weiss, aber der Kunde ist stur.)
    in https://github.com/MetaModels/core/b...imple.php#L167 ist für die Suche ein "LIKE" fest vorgegeben, so dass die Suche so aussieht

    PHP-Code:
    SELECT FROM mm_my_table WHERE my_text_attribute LIKE 'mein exakter Suchtext' 
    statt LIKE würde wahrscheinlich ein = das Problem lösen - kannst Du ja per phpMyAdmin testen

  18. #18
    Contao-Nutzer
    Registriert seit
    28.01.2011.
    Ort
    Winterthur, Schweiz
    Beiträge
    169

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    in https://github.com/MetaModels/core/b...imple.php#L167 ist für die Suche ein "LIKE" fest vorgegeben, so dass die Suche so aussieht

    PHP-Code:
    SELECT FROM mm_my_table WHERE my_text_attribute LIKE 'mein exakter Suchtext' 
    statt LIKE würde wahrscheinlich ein = das Problem lösen - kannst Du ja per phpMyAdmin testen
    Ein = anstelle eines LIKE wird dann aber nur Resultate liefern, wenn der phrase bzw. WERT so komplett in der Spalte vorkommt.

    Beispiel: als Wert steht in der Spalte 'bildbeschreibung' folgendes:

    Fischers Fritz fischt frische Fische. Quelle: WS 1

    Mit folgender Abfrage werde ich keine Resultate bekommen, es sei denn, es existiert in der Spalte 'bildbeschreibung' irgendwo genau nur 'WS 1':
    Code:
    SELECT * FROM mm_bildarchiv WHERE bildbeschreibung LIKE 'WS 1';
    Wahrscheinlich wäre für meine Bedürfnisse MATCH() AGAINST besser?
    Code:
    SELECT * FROM `mm_bildarchiv` WHERE MATCH(`bildbeschreibung`,`bildbeschreibung`)
    AGAINST('WS 1' IN NATURAL LANGUAGE MODE);
    Wobei das auch nicht so funzt, wie erhofft, vor allem weil ich nicht ganz verstehe, warum zwei Spalten miteinander verglichen werden (müssen?) mit einem Argument in MATCH() scheint es nicht zu funktionieren.
    Ausserdem bekomme ich dann den Fehler "#1191 - Can't find FULLTEXT index matching the column list". Google-Recherche sagt mir, ich solle diesen Befehl ausführen:
    Code:
    ALTER TABLE mm_bildarchiv ADD FULLTEXT(bildbeschreibung);
    Langsam fühle ich mich als SQL-Neuling sehr unsicher. Das ist ja kein Feldtyp. Was genau würde das (vor allem in Kombination mit metamodels) für Auswirkungen haben? Wäre das die korrekte Vorgehensweise?

  19. #19
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von 4lmnts Beitrag anzeigen
    Mit folgender Abfrage werde ich keine Resultate bekommen, es sei denn, es existiert in der Spalte 'bildbeschreibung' irgendwo genau nur 'WS 1':
    Code:
    SELECT * FROM mm_bildarchiv WHERE bildbeschreibung LIKE 'WS 1';
    => das ist doch die Anforderung des "sturen Kunden": suche nach xy und finde xy!

    "weicher" wäre
    Code:
    SELECT * FROM mm_bildarchiv WHERE bildbeschreibung LIKE '%WS 1%';
    findet Items mit exakt einem Stringteil 'WS 1', wobei hier davor und oder danach noch was stehen kann

    'MATCH" benötigt eine eigenständige Spalte für den Index - geht so also nicht... es gab mal ein Projekt dazu https://github.com/MetaModels/filter_text/pull/22... ggf. kommst Du mit https://github.com/MetaModels/attribute_levensthein weiter

    Einstellen kannst Du zusätzlich mit den "Standard-Textfilter"

    Code:
    SELECT * FROM mm_bildarchiv WHERE bildbeschreibung LIKE 'WS 1%';
    Code:
    SELECT * FROM mm_bildarchiv WHERE bildbeschreibung LIKE '%WS 1';
    Code:
    SELECT * FROM mm_bildarchiv 
    WHERE bildbeschreibung LIKE '%Fischer%'
    AND LIKE '%Fritze%';
    Code:
    SELECT * FROM mm_bildarchiv 
    WHERE bildbeschreibung LIKE '%Fischer%'
    OR LIKE '%Fritze%';

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •