From hiroshi3110 @ gmail.com Fri Jan 30 11:39:56 2009 From: hiroshi3110 @ gmail.com (hiroshi saito) Date: Fri, 30 Jan 2009 11:39:56 +0900 Subject: [Ludia-users 231] =?iso-2022-jp?b?bHVkaWEtd2l0aGRlcHMtMS41LjEgLS13aXRob3V0LW1lY2Fi?= =?iso-2022-jp?b?IBskQiRHOCE6dyQsO1ckJiRoJCYkSyRmJCskSiQkGyhC?= Message-ID: <6e90f1240901291839k5ee616d5i89e07b7ed82841a7@mail.gmail.com> はじめまして、斉藤と申します。 ludia-1.5.1 を mecab なしの senna で試してみようとしているのですが、 思うようにゆかないのでチェックポイントなど助言頂けると助かります。 具体的には、 README の例を実行すると、 CREATE TABLE table1 (col1 text, col2 varchar(128)); INSERT INTO table1 VALUES ('すもももももももものうち', 'あの壺はよいものだ'); INSERT INTO table1 VALUES ('ももから生まれた桃太郎', 'あの壷はよいものだ'); CREATE INDEX index1 ON table1 USING fulltextb(col1); CREATE INDEX index2 ON table1 USING fulltextb((col2::text)); -- index1 も N-gram になるよう fulltextb() に変更しています # select * from table1 where col1 @@ 'もも'; NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored col1 | col2 ------+------ (0 rows) クエリにストップワードのみか、辞書にないという内容の注意が 表示されるので、N-gram の index になっていないかと思われる のですが、解決方法を発見できませんでした。 環境にかんする情報は以下のとおりです。 Mac OS X 10.6.6 (i386) $ port installed | grep postgres postgresql83 @8.3.5_0 (active) # SELECT * FROM pgs2getoption(); -[ RECORD 1 ]------+------ max_n_sort_result | 10000 enable_seqscan | on seqscan_flags | 1 sen_index_flags | 31 max_n_index_cache | 16 initial_n_segments | 512 (SEN_INDEX_NGRAM フラグは立っているように見えます) From hiroshi3110 @ gmail.com Fri Jan 30 14:43:39 2009 From: hiroshi3110 @ gmail.com (hiroshi saito) Date: Fri, 30 Jan 2009 14:43:39 +0900 Subject: [Ludia-users 232] Re: =?iso-2022-jp?b?bHVkaWEtd2l0aGRlcHMtMS41LjEgLS13aXRob3V0LW1l?= =?iso-2022-jp?b?Y2FiIBskQiRHOCE6dyQsO1ckJiRoJCYkSyRmJCskSiQkGyhC?= In-Reply-To: <6e90f1240901291839k5ee616d5i89e07b7ed82841a7@mail.gmail.com> References: <6e90f1240901291839k5ee616d5i89e07b7ed82841a7@mail.gmail.com> Message-ID: <6e90f1240901292143j5ccdcba8y8a1177a4bd2f83c0@mail.gmail.com> 自己解決しました。 PostgreSQL 8.3 では @@ でなく %% を使うのですね。 README にも書いてあるのによく読んでませんでした。 失礼しました。 2009/01/30 11:39 hiroshi saito : > はじめまして、斉藤と申します。 > > ludia-1.5.1 を mecab なしの senna で試してみようとしているのですが、 > 思うようにゆかないのでチェックポイントなど助言頂けると助かります。 > > 具体的には、 README の例を実行すると、 > > CREATE TABLE table1 (col1 text, col2 varchar(128)); > INSERT INTO table1 VALUES ('すもももももももものうち', 'あの壺はよいものだ'); > INSERT INTO table1 VALUES ('ももから生まれた桃太郎', 'あの壷はよいものだ'); > CREATE INDEX index1 ON table1 USING fulltextb(col1); > CREATE INDEX index2 ON table1 USING fulltextb((col2::text)); > -- index1 も N-gram になるよう fulltextb() に変更しています > > # select * from table1 where col1 @@ 'もも'; > NOTICE: text-search query contains only stop words or doesn't contain > lexemes, ignored > NOTICE: text-search query contains only stop words or doesn't contain > lexemes, ignored > col1 | col2 > ------+------ > (0 rows) > > クエリにストップワードのみか、辞書にないという内容の注意が > 表示されるので、N-gram の index になっていないかと思われる > のですが、解決方法を発見できませんでした。 > > 環境にかんする情報は以下のとおりです。 > Mac OS X 10.6.6 (i386) > > $ port installed | grep postgres > postgresql83 @8.3.5_0 (active) > > # SELECT * FROM pgs2getoption(); > -[ RECORD 1 ]------+------ > max_n_sort_result | 10000 > enable_seqscan | on > seqscan_flags | 1 > sen_index_flags | 31 > max_n_index_cache | 16 > initial_n_segments | 512 > (SEN_INDEX_NGRAM フラグは立っているように見えます) >