Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Schrittweise Indexierung erfolgreich - Nichts gefunden #138

Closed
tbaddade opened this issue Nov 20, 2017 · 34 comments
Closed

Schrittweise Indexierung erfolgreich - Nichts gefunden #138

tbaddade opened this issue Nov 20, 2017 · 34 comments
Assignees
Labels

Comments

@tbaddade
Copy link
Member

Info: Website mit htaccess-Schutz

A - Ohne Hinterlegung der htaccess-Daten
Die Indexierung suggerierte einen Erfolg, da n/n Artikel indexiert wurden. Tatsächlich wurde aber nichts indexiert, zumindest ergab die Suche keinen Treffer.

B - Mit den htaccess-Daten kam ebenfalls der Erfolg von n/n Artikel. Nun fand die Suche auch Treffer.

Aus der Doku geht hervor:

Search it erstellt den Index, in dem es die Artikel der Website im Frontend aufruft und den Artikelinhalt indexiert.

Für mich hätte daher die Indexierung A gleich abbrechen müssen, da gar keine Artikel aufgerufen werden konnten. Sinnvoll wäre gar eine Info, dass keine Indexierung ohne den htaccess-Daten möglich ist.

@tyrant88
Copy link
Member

hier clos, weiter in #139

@tbaddade
Copy link
Member Author

hier clos, weiter in #139

Das sind zwei unterschiedliche Verhalten.

@tyrant88
Copy link
Member

Ja da hab ich mich irgendwie verguckt...

@tyrant88 tyrant88 reopened this Jan 17, 2018
@darwin26
Copy link
Member

darwin26 commented Nov 29, 2018

HI... iwie hab ich das Problem öfter noch und steige nicht durch, was es sein könnte.

  • htaccess ist nicht aktiv
    search_it findet nur Daten aus den Zusätzlichen Datenquellen. rex_article bleiben leer in der DB:rex_search_it_index ...

lokal funktioniert es (noch) ... aufm Server plötzlich nicht mehr (sry, keine Ahnung was da anders wäre). Kann ich das iwie herausfinden was es sein könnte.

Server:
REDAXO 5.6.4
search_it 6.6.3
PHP 7.2.10
MySQL 5.6.26

lokal:
REDAXO 5.6.4
search_it 6.6.3
PHP 7.1.12
MySQL 5.6.38

egal was ich einstelle - rex_article nimmt er nicht.
Systemlog wirft nen Fehler:
Warning | You should not use non-secure socket connections while connecting to "meine-domain.de"! redaxo/src/core/lib/util/socket/socket.php | 268
sobald ich search_it im Backend starte ...

Danke

@darwin26
Copy link
Member

hmm... schon einen Schritt weiter:
Warning: A non-numeric value encountered in /meine-domain.de/htdocs/redaxo/src/addons/search_it/lib/search_it.php on line 139

@alxndr-w
Copy link
Member

Schrittweise Indexierung sollte hier bereits korrekte Fehlermeldung ausgeben. Nur Erfolgsmeldung darf dann natürlich nicht sein

@tyrant88
Copy link
Member

Hast du minifiy im Einsatz oder irgend etwas, was HTML Kommentare aus dem Quellcode filtert?
Häng mal ?search_it_build_index=doit an eine deiner URLs und schau im Quelltext ob du so was wie hier findest
zwischenablage-1

@darwin26
Copy link
Member

darwin26 commented Nov 29, 2018

0000

" search_it 1" ...ja, ist im Quelltext minify - nein - nicht installiert

redaxo syslog:
Warning | You should not use non-secure socket connections while connecting to "meine-domain.de"! redaxo/src/core/lib/util/socket/socket.php | 268

ich hab noch einen ältere Version des Projektes (lokal) da läuft es...
hat es doch was mit dem (nichtvorhsnden SSL oder fehlerhaft konfig des servers zu tun)?
Wobei ich mir einbilde, das es vor ein paar Tagen (auch aufm Server) noch funktioniert hat.

strange

@tyrant88
Copy link
Member

Nein ich hab es auch auf einem "nicht-SSL" System laufen. Die syslog Meldung habe ich dabei auch immer.

@darwin26
Copy link
Member

die numeric warnung hab ich schon rausgefiltert... und auch weg...
aber wird immernoch nichts gefunden... gehe gerade schritt weise meine changes zurück ...
aber iwas is da faul.. kann mich erinnern, das ich das auch schon früher hatte und diese aber nur bis search_it 6.1.5 .. weil danach eben keine treffer mehr kamen ...

@tyrant88
Copy link
Member

Tja, dann würde ich als nächstes in der Funktion "indexArticle" ein bisschen debuggen, wann und wo das Ergebnis "leer" wird.

@darwin26
Copy link
Member

darwin26 commented Nov 29, 2018

hmm...
er matched nicht (mehr)
... (links server // rechts lokal)
00002

public function indexArticle($_id, $_clang = false)

foreach ($matches as $match) { dump("MATCH 1: ".$match[1] .' ### ' . "ID: ".$_id); if ( $match[1] == $_id || $match[1] == '' ) { dump("---Treffer----"); $articleText .= ' ' . $match[2]; } }

@tyrant88
Copy link
Member

tyrant88 commented Nov 29, 2018

Das würde bedeuten in deinem Artikel mit der id 1 kommt <!-- search_it 1 --> nicht vor?
Sehe gerade das würde eigentlich sogar heißen alle deine Artikel bestehen aus Artikel 53, 119 und 54...

@tyrant88
Copy link
Member

Noch spezifischer: dein Template besteht aus 3 Aufrufen von getArticle... mit immer den gleichen ids... holst du den eigentlichen Inhalt irgendwie anders als mit $this->getArticle oder REX_ARTICLE[] ?

Was ist denn Artikel 119?

@darwin26
Copy link
Member

darwin26 commented Nov 30, 2018

Hey Norbert ...

dein Template besteht aus 3 Aufrufen von getArticle... mit immer den gleichen ids... holst du den eigentlichen Inhalt irgendwie anders als mit $this->getArticle oder REX_ARTICLE[] ?

genau das war es ...!!!
ich hatte im Template direkt ein Slice eines Artikels (id:119) eingebunden
rex_article_slice::getSlicesForArticleOfType(119, 17); ... nehm ich das raus bzw. gehe den richtigen Weg -> sind auch wieder Treffer da!

Es hat(te) also nichts, niente, de nada mit -> search_it zu tun!


Mann ... langsam mach ich mir echt Gedanken, ob ich nicht ein Fass Bier für alle am RexDay hinstelle, dann brauch ich nicht jedem einzelnen ein Bierchen spendieren... DANKE!

@alxndr-w
Copy link
Member

Verstehe zwar nicht, dass das ein Indexierungsproblem auslöst, aber gut, dass die Quelle gefunden wurde :)

@tbaddade
Copy link
Member Author

Es hat(te) also nichts, niente, de nada mit -> search_it zu tun!

irgendwie dann doch, wenn durch einen regulären Aufruf rex_article_slice::getSlicesForArticleOfType nichts indexiert wird.

@darwin26
Copy link
Member

darwin26 commented Nov 30, 2018

in meinem Fall---> doof ---> da ich versehentlich 2x den selben Artikel (ID54 & ID119) in unterschiedlichen Templates auf unterschiedliche Weise eingebunden habe....

@tyrant88
Copy link
Member

Freut mich dass das Problem gelöst wurde, aber Thomas hat nicht ganz unrecht. Muss mal prüfen, wie sich das verhält, wenn das Template nur aus Slice-Ausgaben besteht...

@tbaddade
Copy link
Member Author

Müsste dann ein neues Issue aufgemacht werden oder hat das mit dem hiesigen etwas zu tun?

@tyrant88
Copy link
Member

Eigentlich passt ja Darwins Problem genauer auf den Titel des issues ;-)
Dein ursprüngliches issue ist ja, dass es bei der Schrittweisen Indexierung keinen Fehlercode für "konnte Artikel nicht aufrufen" gibt, oder?

@IngoWinter
Copy link
Member

Bin ich heute auch drüber gestolpert. Im Template des Artikels stand REX_ARTICLE[1367 ctype=3] , REX_ARTICLE[1367 ctype=3] , REX_ARTICLE[1367 ctype=1],REX_ARTICLE[1367 ctype=2],REX_ARTICLE[1367 ctype=4] drin, die rex_search_it_index blieb leer.

@tyrant88
Copy link
Member

Hmm. Das sollte eigentlich kein Problem sein...
kannst du den Artikel mal mit URL?search_it_build_index=do-it aufrufen und im SeitenQuellcode nach den <!-- search it xx --> suchen?

@IngoWinter
Copy link
Member

IngoWinter commented Sep 18, 2019

Es stehen mehrere Kommentare drin:
<!-- search_it 5 --> die ID des aktuellen Artikels
<!-- search_it 1367 --> die ID des per REX_ARTICLE[1367 ctype=1] inkludierten Artikels

@tyrant88
Copy link
Member

So sollte es auch sein. Alles dazwischen wandert in den Index... und der war leer?

@IngoWinter
Copy link
Member

Ja, verlässlich reproduzierbar. lasse ich die ctypes über if (rex_get('search_it_build_index', 'string', '') != 'do-it-with-yrewrite') beim Indexieren nicht ausgeben, wird die Tabelle gefüllt, ansonsten bleibt sie leer. Fehlermeldungen beim Indexieren gibts nicht.
Wenn du mir einen Tipp gibst, wo ich am besten zum Debuggen ansetzen kann, mach ich das gerne.

@IngoWinter
Copy link
Member

Geiles Addon übrigens. Bis auf diese obskure Nummer war alles sehr geschmeidig 👍

@tyrant88
Copy link
Member

Das AddOn ist von @xong
kannst du mir bitte mal die Quellcode-Ausgabe von oben zeigen/geben?
Die wandert dann in preg_match_all('/<!--\ssearch_it\s([0-9]*)\s?-->(.*)<!--\s\/search_it\s(\1)\s?-->/s', $articleText, $matches, PREG_SET_ORDER);

@tyrant88
Copy link
Member

Ah vielleicht, weil die eine ID doppelt vorkommt?

@IngoWinter
Copy link
Member

Ich glaube ja. Wenn ich dem Regex ein U als zusätzliche Option mitgebe, funktionierts.

@IngoWinter
Copy link
Member

<!-- search_it 1367 -->
<!-- /search_it 1367 -->
...
<!-- search_it 1367 -->
<!-- /search_it 1367 -->
...
<!-- search_it 5 -->
<!-- /search_it 5 -->
...
<!-- search_it 1367 -->
<!-- /search_it 1367 -->

Der Original Regex matcht alles zwischen der ersten und der letzten Zeile und da kommt dann nix bei rum...

@tyrant88
Copy link
Member

Ich prüf das nochmal sobald ich Zeit habe... das wäre ja cool, wenn wir den Fehler hätten! Danke schon mal bis hier!

@alxndr-w
Copy link
Member

@tyrant88 ping

@tyrant88
Copy link
Member

das haben wir schon längst eingebaut habe ich gerade parallel geprüft...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants