私は、Postgresql 8.4 用にカスタマイズされた ispell 辞書構成の構築に取り組んでおり、アポストロフィを含む単語を正しく解析するのに問題があります。Postgresql に含まれる ispell 辞書には、単語の拡張形式を指定する "M" SFX ルールを含む .affix ファイルが含まれています。
dictionary/SM
辞書ファイルにあると仮定した例を次に示します。
SELECT to_tsvector('english_ispell', 'dictionary''s dictionaries');
期待される出力:
'dictionary':1,2
実際の出力:
s':2, 'dictionary':1,3
私は何か間違ったことをしていますか?解析方法を示す ts_debug からの出力を次に示します。
SELECT * FROM ts_debug('english_ispell', 'dictionary''s dictionaries');
alias | description | token | dictionaries | dictionary | lexemes
-----------+-----------------+--------------+-------------------------------+----------------+--------------
asciiword | Word, all ASCII | dictionary | {english_ispell,english_stem} | english_ispell | {dictionary}
blank | Space symbols | ' | {} | |
asciiword | Word, all ASCII | s | {english_ispell,english_stem} | english_ispell | {s}
blank | Space symbols | | {} | |
asciiword | Word, all ASCII | dictionaries | {english_ispell,english_stem} | english_ispell | {dictionary}
'
Postgresqlが単一の単語の一部として解析し、「スペース記号」として分割されないようにするにはどうすればよいですか?