Zum Inhalt springen

ElasticSearch mit Neos erweitern

Erstellt am 29. Juni 2015 · 2 Antworten · letzte Antwort am 9. November 2015

Tags: Suche, Frage

Tamuril ·

Hallo zusammen,

ich stehe nun schon seit mehreren Tagen vor dem Problem, daß ich meinen ngram-Analyzer nicht zum Laufen kriege (der für die deutsche Sprache bekanntlich unabdingbar ist).

Zum ElasticSearch 1.4 habe ich folgende Neos-Packages installiert:

  • Flowpack.ElasticSearch

  • Flowpack.ElasticSearch.ContentRepositoryAdaptor

  • Typo3.TYPO3CR.Searcg

  • Flowpack.SearchPlugin

Den ngram-Analyzer habe ich in der Settings.yaml des Packages Flowpack.ElasticSearch wie folgt angelegt:

Flowpack:
  ElasticSearch:
    indexes:
      default:
        'typo3cr':
          analysis:
            filter:
              trigrams_filter:
                type: 'ngram'
                min_gram: 3
                max_gram: 3
            analyzer:
              trigrams:
                type: 'custom'
                tokenizer: 'standard'
                filter: ['lowercase', 'trigrams_filter']

Von meinem Verständnis her müsste ich diesen jetzt wie folgt benutzen (Auszug aus der NodeTypes.yaml des Flowpack.ElasticSearch.ContentRepositoryAdaptor):

'MyName.Neos.Bootstrap:TextBlock':
  properties:
    'headline':
      search:
      elasticSearchMapping:
        type: string
        analyzer: trigrams
      fulltextExtractor: '${Indexing.extractHtmlTags(value)}'
    'text':
      search:
        elasticSearchMapping:
          type: string
          analyzer: trigrams
        fulltextExtractor: '${Indexing.extractHtmlTags(value)}'

Wo liegt hier jetz mein Denkfehler? Denn spätesten bei zusammengesetzten Wörtern bekomme ich von Neos einen Fehler angezeigt.

Gruß
Tamuril

Tamuril ·

Um das Problem weiter einzugrenzen gibt es jetzt noch ein paar Fehlermeldungen aus den Logs:

15-07-01 07:58:50 3402 ERROR TYPO3\Fluid\ViewHelpers\Uri\ActionViewHelper An Exception was captured: Could not resolve a route and its corresponding URI for the given parameters. This may be due to referring to a not existing package / controller / action while building a link or URI. Refer to log and check the backtrace for more details.(1301610453)
=> TYPO3.Fluid

15-07-01 07:59:58 3253 CRITICAL Flow Uncaught exception #1301610453 in line 354 of /var/www/neos/Data/Temporary/Production/Cache/Code/Flow_Object_Classes/TYPO3_Flow_Mvc_Routing_UriBuilder.php: Could not resolve a route and its corresponding URI for the given parameters. This may be due to referring to a not existing package / controller / action while building a link or URI. Refer to log and check the backtrace for more details. - See also: 20150701075957e02c27.txt

Diese Warnung findet sich ebenfalls regelmäßig in den Logs (mit sich wechselnden nodes):

15-07-01 07:59:08 3153 WARNING Flow Router resolve(): Could not resolve a route for building an URI for the given route values.
node => object: TYPO3\TYPO3CR\Domain\Model\Node
@action => index
@controller => suggest
@package => flowpack.searchplugin
@format => json

mentrid ·

Hey Tamuril,

hast du dein Problem lösen können?
Ich stehe derzeit an der selben Stelle ;-)

Viele Grüße

Edit:
Hat sich erledigt, mein Problem war doch ein anders.
Die Analyzer oben sind übrigens richtig, die Einrückung aber nicht ganz.