indexed_search | FE User | Anzahl Ergebnis reduziert sich [Gelöst]

  • colemcmurphy colemcmur...
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    11. 04. 2007, 14:23

    [b]Hilfe!!![/b]

    Ich habe die Suche eingebunden. So lange ich keinen geschlossenen Bereich mit FE-Usern eingerichtet habe, funktioniert alles.

    Jetzt richte ich einen FE-Gruppe ein und einen Nutzer und logge mich ein. Jetzt suche ich nach einem Begriff der den Pagebrowser öffnet.

    In der ersten Ansicht zeigt die Trefferanzahl z.B. 146, klickt man dann auf die 2te Seite zeigt die Anzahl nur noch 142 und bei der dritten 135. Die letzte Seite zeigt dann die tatsäche Anzahl gefundener Treffer an!!!

    Wie gesagt. Bevor man FE-User eingerichtet hat funktioniert es richtig.

    Jetzt habe ich die User und Gruppen gelöscht, den alten Zustand hergestellt, ist der Fehler immer noch da. Mit löschen bleibt der Fehler bestehen?!?

    Habe dies an zwei unterschiedlichen Projekten probiert, gleiches Problem.

    habe es bei 2.9.0 und der 2.9.3er Version probiert!

    Weiß hier jemand eine Lösung?

    Viele Grüße
    Jan


  • moritz moritz
    Jedi-Meister
    0 x
    369 Beiträge
    0 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    es ist die Version 2.11.1

    Bestandteil von T3 4.2.6

    Ist für ein Intranet, daher macht es für mich wirklich Sinn, diese Funktionalität der indexed search "umzubiegen".

  • moritz moritz
    Jedi-Meister
    0 x
    369 Beiträge
    0 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    Darf ich diese Thema noch mal künstlich nach oben pushen? :o

  • afoeder afoeder
    Padawan
    0 x
    58 Beiträge
    1 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    Hallo,

    die Sache, dass eingeloggte User erst Suchergebnisse sehen, "wenn die Seite bereits besucht wurde", hat eine andere Ursache:

    bei jedem Aufruf einer Seite wird die sogenannte grlist erstellt. Dies ist eine Kommaseparierte Liste der Usergruppen, der der User angehört.

    Beim Indizieren der Seiten wird die grlist mitgespeichert. Damit wird sichergestellt, dass ein anonymer User nicht etwa Dinge durch die Suche sehen kann, die durch einen "höheren" User indiziert wurden.

    Eine (temporäre!!) Lösung wäre TS:

    plugin.tx_indexedsearch.show.forbiddenRecords = 1

    zu setzen (vgl.

    if ($row['show_resume'] || $this->conf['show.']['forbiddenRecords'])

    in der class.tx_indexedsearch.php

    Aber Achtung: damit würde per Suchfunktion jeder ein Suchresultat sehen, dass vielleicht nicht für seine Augen bestimmt ist.

    Wer's genau wissen will kann einen Blick in die

    function checkResume($row)

    werfen. Darin gibt es eine Zeile

    if (strcmp($row['gr_list'],$GLOBALS['TSFE']->gr_list)) {

    genau die ist der springenden Punkt. Hier wird die grlist überprüft, und wenn sie Ungleich ist, wird der Datensatz letztlich aus den Suchtreffern rausgeworfen.

    Die sichere Variante ist, den Crawler einzusetzen mit jeder möglichen Usergruppeniteration.

    meine Flow-Kenntnis verdanke ich der täglichen Arbeit an https://www.wishbase.com - der Crowdfunding-Plattform für Wünsche, und der großartigen community im IRC-Channel #typo3-flow.

  • InforMedic InforMedi...
    Jedi-Meister
    0 x
    394 Beiträge
    1 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    [quote="moritz"]
    Oha... vor dem Problem stehe ich auch... :o

    Irgendwie finde ich den Code in der PHP nicht :o

    Welche Zeilennummern sind das denn in T3 4.2.6?
    [/quote]

    Hi,

    ich habe den fix gerade (anno 2011) auch auf einer v4.2.6er mit indexed_search v2.11.1 eingespielt und yeah baby - endlich korrekte results und ein funktionierendes page browsing!

    Die Zeile sieht aber inziwschen anders aus

    1. if (!$exactCount && (($c+1) > ($pointer+1)*$this->piVars['results'])) { break; }

    und das steckt in der Zeile: 614

    Mit bestem Gruß

  • scorpio scorpio
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    Die neue Zeile lässt sich auch per TS ausschalten

    plugin.tx_indexedsearch.search.exactCount = 1

    und dann ist alles toll:D

    Getestet in indexed_search Version 2.12.0

  • colemcmurphy colemcmur...
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    [b]Hilfe!!![/b]

    Ich habe die Suche eingebunden. So lange ich keinen geschlossenen Bereich mit FE-Usern eingerichtet habe, funktioniert alles.

    Jetzt richte ich einen FE-Gruppe ein und einen Nutzer und logge mich ein. Jetzt suche ich nach einem Begriff der den Pagebrowser öffnet.

    In der ersten Ansicht zeigt die Trefferanzahl z.B. 146, klickt man dann auf die 2te Seite zeigt die Anzahl nur noch 142 und bei der dritten 135. Die letzte Seite zeigt dann die tatsäche Anzahl gefundener Treffer an!!!

    Wie gesagt. Bevor man FE-User eingerichtet hat funktioniert es richtig.

    Jetzt habe ich die User und Gruppen gelöscht, den alten Zustand hergestellt, ist der Fehler immer noch da. Mit löschen bleibt der Fehler bestehen?!?

    Habe dies an zwei unterschiedlichen Projekten probiert, gleiches Problem.

    habe es bei 2.9.0 und der 2.9.3er Version probiert!

    Weiß hier jemand eine Lösung?

    Viele Grüße
    Jan

  • colemcmurphy colemcmur...
    Padawan
    0 x
    32 Beiträge
    0 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    Ich habe eine Lösung für die indexed_search 2.9.0:

    In der Datei: indexed_search/pi/class.tx_indexedsearch.php
    ist die Zeile 597

    1. // if (($c+1) > ($pointer+1)*$this->piVars['results']) break;

    auskommentiert und ab 592 der Code modifiziert und ergänzt:

    1. // All rows for display is put into resultRows[]
    2. if ($c > $pointer * $this->piVars['results'] && !($c > ($pointer+1)*$this->piVars['results'])) {
    3. $row['result_number'] = $c;
    4. $resultRows[] = $row;
    5. // This may lead to a problem: If the result check is not stopped here, the search will take longer. However the result counter will not filter out grouped cHashes/pHashes that were not processed yet.
    6. // if (($c+1) > ($pointer+1)*$this->piVars['results']) break;

    Damit läuft es!

  • nuxodin nuxodin
    T3PO
    0 x
    13 Beiträge
    0 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    Hallo

    Du bist mein Held!! :-)

    mfg nuxodin

  • omega omega
    R2-D2
    0 x
    64 Beiträge
    0 Hilfreiche Beiträge
    13. 12. 2016, 11:07

    hi colemurphy,

    :D vielen Dank dass du die Lösung hier gepostet hast, hat auch bei mir geholfen!

    lg Angela