On Thursday, May 12, 2016 at 9:26:26 AM UTC-7, Aleksey Dashkevich wrote:
>
> In local DB I have 5 videos with titles: Test new video, Testing*, *
> testiest, New name video, Videos
> When I make request  
> *Video*.dataset.full_text_search(:title, *'*vid*'*, {phrase: *true*}).all 
> I get empty array. 
> I get raw SQL of this request  
> #<Sequel::Postgres::Dataset: "SELECT * FROM \"videos\" WHERE 
> ((to_tsvector(CAST('simple' AS regconfig), (COALESCE(\"title\", ''))) @@ 
> plainto_tsquery(CAST('simple' AS regconfig), 'vid')) AND 
> (((COALESCE(\"title\", '')) ILIKE '%vid%' ESCAPE '\\')))">
> and run last part  
> *DB*.fetch(*"*SELECT * FROM videos WHERE ((COALESCE(title, '')) ILIKE 
> '%vid%' ESCAPE '*\\*')*"*).all 
> and get expected 3 videos
> Then I run 
> *DB*.fetch(*"*SELECT * FROM videos WHERE ((to_tsvector(CAST('simple' AS 
> regconfig), (COALESCE(title, ''))) @@ plainto_tsquery(CAST('simple' AS 
> regconfig), 'vid')))*"*).all 
> and get empty array.
> Then I check dictionaries and simple dictionary:
>
> *DB*.fetch(*"*SELECT dictname FROM pg_catalog.pg_ts_dict;*"*).all
>
> => [{:dictname=>*"*simple*"*}, ... ]
>
>
> *DB*.fetch(*"*SELECT * FROM ts_debug('vid');*"*).all
>
> => [{:alias=>*"*asciiword*"*, :description=>*"*Word, all ASCII*"*, :token
> =>*"*vid*"*, :dictionaries=>*"*{simple}*"*, :dictionary=>*"*simple*"*, 
> :lexemes=>[*"*vid*"*]}]
>
>
> Of course, I can use 
>
> *Video*.where(*Sequel*.ilike(:title, *'*%vid%*'*)).all
>
> but maybe I do something wrong with full_text_search ??
>
> Thank you =)
>

Does running the full text search SQL on PostgreSQL return any rows?  If 
so, and Sequel is not returning rows even though PostgreSQL is returning 
rows, then it may be a Sequel bug, in which case you should post a self 
contained example showing the problem.  If PostgreSQL doesn't return any 
rows either, you should probably as the PostgreSQL developers.

Thanks,
Jeremy

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to