tsearch Parser Hacking - Mailing list pgsql-hackers

From David E. Wheeler
Subject tsearch Parser Hacking
Date
Msg-id C62AC9C5-9968-46ED-B952-B026F3865A79@kineticode.com
Whole thread Raw
Responses Re: tsearch Parser Hacking
Re: tsearch Parser Hacking
List pgsql-hackers
Hackers,

Is it possible to modify the default tsearch parser so that / doesn't get lexed as a "file" token? That is, instead of
this:

try=# select * from ts_debug('simple'::regconfig, 'w/d');alias │    description    │ token │ dictionaries │ dictionary
│lexemes  
───────┼───────────────────┼───────┼──────────────┼────────────┼─────────file  │ File or path name │ w/d   │ {simple}
 │ simple     │ {w/d} 

Ideally it'd think that / was the same as -:

try=# select * from ts_debug('simple'::regconfig, 'w-d');     alias      │           description           │ token │
dictionaries│ dictionary │ lexemes  
─────────────────┼─────────────────────────────────┼───────┼──────────────┼────────────┼─────────asciihword      │
Hyphenatedword, all ASCII      │ w-d   │ {simple}     │ simple     │ {w-d}hword_asciipart │ Hyphenated word part, all
ASCII│ w     │ {simple}     │ simple     │ {w}blank           │ Space symbols                   │ -     │ {}
│[null]     │ [null]hword_asciipart │ Hyphenated word part, all ASCII │ d     │ {simple}     │ simple     │ {d} 
(4 rows)

Possible? Or would I have to write a completely new parser just to change this bit?

Thanks,

David



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: sepgsql contrib module
Next
From: Marti Raudsepp
Date:
Subject: Re: FOR KEY LOCK foreign keys