Suchfunktion liefert ungefähre Ergebnisse?

Hallo.

Ich habe dieses Thema in meinem Forum gesucht: les passants - Autour d'une roue - Monocycle.info

Der Titel des Themas lautet „les passants“.

Zuvor würde die Suche mit „passants in:title“ dieses Thema unter den ersten Ergebnissen anzeigen.

Aber jetzt zeigt es ungefähre Ergebnisse an:

Anstelle von „passants“ sehen Sie „passe“, „pass“, „passage“, „passion“, einige dieser Wörter sogar vor der exakten Zeichenfolge „passants“ …

Ich vermute, das ist ein Fehler?

Ich fürchte, ich weiß nicht genug über die Suche, um zu wissen, ob das beabsichtigt ist oder nicht, aber Sie können doppelte Anführungszeichen um ein Wort setzen, um eine exakte Suche durchzuführen, wenn das hilft?

Z. B. "passants"

1 „Gefällt mir“

Das hilft zwar, aber das Standardverhalten ist rätselhaft.

Aus unbekanntem Grund gibt die Suche nach der exakten Zeichenfolge mit doppelten Anführungszeichen auch ein Ergebnis zurück, das keinen „passants“ im Titel hat (aber einen im Inhalt des ersten Beitrags):

1 „Gefällt mir“

Im Französischen wird passants auf das Lexem pass reduziert, bevor wir den Inhalt der Beiträge durchsuchen.

Ein Lexem ist eine Zeichenfolge, genau wie ein Token, aber es wurde normalisiert, sodass verschiedene Formen desselben Wortes gleich gemacht werden.

4 „Gefällt mir“

Ich verstehe.\n\nSind die Lexeme sprachbezogen?\n\nIch finde es im Französischen nicht sehr sinnvoll, ein solches Wort auf „pass“ zu reduzieren. :thinking: Das ist verwirrender als hilfreich, wenn man bedenkt, dass es viele Wörter gibt, die mit „pass“ beginnen und nicht (direkt oder indirekt) mit dem Verb „passer“ zusammenhängen.\n\nAber wenn wir die exakte Zeichenkette mit doppelten Anführungszeichen ansprechen können, ist das in Ordnung :slight_smile:.\n\nAußerdem, was ist mit dem zweiten Ergebnis, das trotz der Verwendung von doppelten Anführungszeichen in meinem letzten Screenshot keinen „passants“ im Titel hat?

Diese Dinge sind in Postgres konfigurierbar, aber die französische Implementierung in Postgres ist das, was dies alles reduziert:

discourse_development=# select to_tsvector('french', 'passants');
 to_tsvector
-------------
 'pass':1
(1 row)

discourse_development=# select to_tsvector('english', 'passants');
 to_tsvector
-------------
 'passant':1
(1 row)

Es gibt ausgefeiltere Wörterbücher, die verwendet werden können, aber sie sind extrem kompliziert zu konfigurieren.

3 „Gefällt mir“