Re: [GENERAL] jsonb
On 11/14/2017 11:30 PM, hmidi slim wrote: > I'm trying to use the function to_jsonb and create the name: > to_jsonb ('{"key1":" ' || 'text1' || '","key2":" ' || 'text2' || '"}'); This query converts a string into a JSON object that consist of that string. I guess what you intend to accomplish is rather: select jsonb_build_object('key1', 'text1', 'key2', 'text2'); -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Combine multiple text search configuration
Hi, On 2017-11-06 09:17, hmidi slim wrote: > Hi, > I want to know if I can combine multiple text search configurations when > I tried to use FTS. > Is there any options like this: > *to_tsvector(['english', 'french'], document)* > * > * > Trying to create a new text configuration: > *Create text search configuration test (copy=simple)* > *Alter text search configuration test* > *add mapping for asciiword with english_stem,french_stem* > * > * > This query doesn't work. How can I combine multiple text search > configurations if I need more than one into my query to search a word? what about using two indexes, one for each language? If your documents can either be English OR French, the English OR the French vector should match an English OR French tsquery. It is not clear to me how combining two stemmers should practically work since each word can only have one stem. If you have multilingual documents or texts with code switching, you could also try combining the two vectors both for the documents and the query: (to_tsvector('english', document) || to_tsvector('french', document)) @@ (to_tsquery('english', query) || to_tsquery('french', query)) -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Combine multiple text search configuration
On 2017-11-07 08:27, hmidi slim wrote: > Hi, > Thank for your proposition but when to use this query : > (to_tsvector('english', document) || to_tsvector('french', document)) @@ > (to_tsquery('english', query) || to_tsquery('french', query)) > I think that the performance decrease and not a good solution for big > amount of data. Is it? You have more lexems when you combine two languages, but not twice as many as there will be some overlap. That means your index will also be be bigger than a single language index. Anyhow I would expect this variant to perform better than querying two single columns simultaneously. Maybe one of the FTS developers could comment on this? -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Fwd: Re: [GENERAL] Combine multiple text search configuration
On 2017-11-07 08:27, hmidi slim wrote: > Hi, > Thank for your proposition but when to use this query : > (to_tsvector('english', document) || to_tsvector('french', document)) @@ > (to_tsquery('english', query) || to_tsquery('french', query)) > I think that the performance decrease and not a good solution for big > amount of data. Is it? You have more lexems when you combine two languages, but not twice as many as there will be some overlap. That means your index will also be be bigger than a single language index. Anyhow I would expect this variant to perform better than querying two single columns simultaneously. Maybe one of the FTS developers could comment on this? -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] Combine multiple text search configuration
Hi, On 2017-11-06 09:17, hmidi slim wrote: > Hi, > I want to know if I can combine multiple text search configurations when > I tried to use FTS. > Is there any options like this: > *to_tsvector(['english', 'french'], document)* > * > * > Trying to create a new text configuration: > *Create text search configuration test (copy=simple)* > *Alter text search configuration test* > *add mapping for asciiword with english_stem,french_stem* > * > * > This query doesn't work. How can I combine multiple text search > configurations if I need more than one into my query to search a word? what about using two indexes, one for each language? If your documents can either be English OR French, the English OR the French vector should match an English OR French tsquery. It is not clear to me how combining two stemmers should practically work since each word can only have one stem. If you have multilingual documents or texts with code switching, you could also try combining the two vectors both for the documents and the query: (to_tsvector('english', document) || to_tsvector('french', document)) @@ (to_tsquery('english', query) || to_tsquery('french', query)) -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
[GENERAL] Some questions about postgresql's default text search parser
Hi eveyone, I've been trying to understand the text search parser's behaviour. Looking at the source code [1] it seems as if there was a sophisticated FSM mapping the input string to a list of tuples of category (as defined in [1], lines 32-56, or [2]) and a substring from the original one order by the appearance of the latter one in the original. * Is there any documentation to be found on this parser? As the parser is not aware of the underlying language, I would like to create my own one. * Is adding one to pg_ts_parsers the right way or should this rather be done outside of the PG internals? * For the first case, is there any manual or documentation how to do so? If you want to comprehend my aims, try these commands: select (ts_parse(3722,s)).*, (ts_debug(s)).*, (ts_debug('french',s)).* from (select 'aujourd''hui ils m''ont dit qu''il y aura peut-être plus de 10 000 personnes'::text s) x; select (ts_parse(3722,s)).*, (ts_debug(s)).* from (select 'heu d''anar-hi'::text s) x; Best Johannes [1] http://doxygen.postgresql.org/wparser__def_8c_source.html [2] http://www.postgresql.org/docs/9.3/static/textsearch-parsers.html -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general