Postgres recherche de texte intégral: Phrase distance de l'opérateur (<x>) est à la recherche d'un match de distance exacte

voix
0

Lorsque vous effectuez la recherche en texte intégral en utilisant l'opérateur de phrase ( <X>syntaxe), il ne fait « inférieur ou égal à » le nombre, comme je l' attendre. La valeur de recherche doit être exactement que beaucoup de positions éloignées.

Compte tenu de cet exemple:

select *
from (values
  ('bob is really smart, isn''t he?')
) docs(body)
where
  to_tsvector(body) @@ to_tsquery('simple', 'bob <3> smart');

En utilisant le <3>rendement du match. Cependant, toute autre valeur plus grande (c. -à- <4>ou <5>) ne correspond pas.

Y at-il une configuration mise en Postgres pour l'utilisation du tie-combattant?

J'utilise une instance RDS Postgres sur AWS: PostgreSQL 9.6.11 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit

Créé 03/12/2019 à 00:00
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Il s'avère que cela fonctionne comme prévu. : /

Il y avait une AROUND(X)fonction qui fait que j'attendre à ( inférieur ou égal à ), mais on dirait qu'il a été retiré de Postgres à un moment donné.

Il y a quelques correctifs disponibles qui créent une <X, Y>syntaxe, où Xest la distance minimale et Yla distance maximale. Ceux - ci ne sont pas viables dans le cadre d'une instance RDS sur AWS.

Créé 03/12/2019 à 00:00
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more