mysql 日本語 全文検索

  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/includes/unicode.inc on line 311.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/includes/unicode.inc on line 311.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • warning: Creating default object from empty value in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/spam/spam.module on line 548.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • warning: Creating default object from empty value in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/spam/spam.module on line 548.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/includes/unicode.inc on line 311.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • warning: Creating default object from empty value in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/spam/spam.module on line 548.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • warning: Creating default object from empty value in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/spam/spam.module on line 548.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • warning: Creating default object from empty value in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/spam/spam.module on line 548.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • warning: Creating default object from empty value in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/spam/spam.module on line 548.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/bbcode/bbcode-filter.inc on line 207.
  • warning: Creating default object from empty value in /home/groups/d/dr/drupal-jp/htdocs/main/sites/all/modules/spam/spam.module on line 548.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.
  • : Function ereg() is deprecated in /home/groups/d/dr/drupal-jp/htdocs/main/includes/file.inc on line 649.

流れで
mysql 日本語 全文検索
でググってみたところ、
http://www.tatamilab.jp/rnd/archives/000390.html
(↑ちょっと重いです)
を経て
Senna(せな)
に行き当たりました。
あの「未来検索ブラジル」が開発したとのことでビックリ。

この記事のトラックバックURL:

http://drupal-jp.osdn.jp/main/trackback/118

コメント

Tritonn(MySQL バインディング)

Sennaをさまざまな言語や処理系に組み込んで利用できるようにするバインディングというものがあるらしく、
MySQL バインディングは Tritonn に移管されたそうです。
ライセンスはこちらです。

何とか日本語Drupal に実装できるようなことがあれば素晴らしいですね。

Re: Tritonn

少し調べてみましたが、これはMySQLで日本語による全文検索が出来るようにする改造なので、Drupal側で特に日本語対応する必要はないですね。

と思って、全文検索するモジュールを探しましたが見つけられませんでした。
そもそもコアのsearchモジュールが全文検索対応すればいいはずなのですが、何か出来ない理由があるんでしょうかねぇ。

Re: 全文検索

wrote:
これはMySQLで日本語による全文検索が出来るようにする改造なので、Drupal側で特に日本語対応する必要はないですね。

あ、そうだったのですか。
4.6の時にはコアのsearchでは日本語検索が通らなかったので使っていたSQL Search (Trip Search)には
wrote:
it offers three alternative search methods: simple SQL LIKE matching, matching with regular expressions, and MySQL full text index searching.

と書かれているので全文検索はできるような感じですが、もしできるとして、そのまま日本語でも全文検索できるのでしょうかね?
最近使ってないのでハッキリわかりません。。。

Re: SQL Search (Trip Search)

試してみたら日本語全文検索できました。Read me.txt には
「コアのSearchモジュールとも共存できますが、ユーザを混乱させる恐れがあるのでコアのSearchモジュールを無効にした方がよいでしょう」、
とありましたが、デフォルトで使っていないテーマのブロックで表示させて、そのテーマで試せば無効にせずともテストはできます。
ブロックタイトルは単に「検索」にしかならないのでちょっと混乱しますけど。

しかしまぁアレですね、Sphinxのような超高速性が望めるかというと、それはまた別の話ということで。

Re2: SQL Search (Trip Search)

長ーい語句だとサクッと検索できるのに、短い単語だと検索できなかったりします(短いといっても6語とか)。
検索できる文字数もマチマチです。同じ6語でも検索できるものとできないものがあったりします。
また、コアのsearchモジュールのように最短語長の設定があるわけでもないです。
インデックスの問題でしょうか。
うーん。ちょっとこのままでは使えないですね。。。

Re3: SQL Search (Trip Search)

あ、そういえばSQL Searchがありましたね。(^^;;

少なくとも、SQL Searchをインストールする前にMySQLサーバをTritonnに入れ替えなければならないですが、そこは大丈夫でしょうか?

それで駄目でしたら、Tritonnに入れ替えてからDBを作り直す必要があるのかも。
あと、TritonnはMyISAMだけの対応ですので、DBのデフォルト形式がMyISAMになっている必要があると思います。

Re4: SQL Search

wrote:
少なくとも、SQL Searchをインストールする前にMySQLサーバをTritonnに入れ替えなければならないですが、そこは大丈夫でしょうか?

いえ、私にはそんな高度なことはムリでして、単純にSQL Searchをインストールしただけです。
で、昔(4.6の頃)はそれでハッピーに動作していたはずなのですが - 全文検索がどうだったかは記憶にございません - 、なぜかD5では先に述べたような不審な動き- 全文検索長い文節のフレーズ検索?はできるのに、単語検索では漏れがある - をします。
しかも、今気がついたのですが、SQL Searchをインストールしてからというもの、それ以前にはできなかったコアのsearchで全文検索ができるようになってしまってます。
思い違いだったらすみません。どなたか試してみてください。

※何か勘違いしてたみたいです。
うーん、何がなんだかわかりませんねー。

いずれにせよ、Sphinx の日本語対応の方が興味深いですね。
コンテンツ数が多いサイトになると、コアであれ、SQL Searchであれ、あのインデックススピード、検索スピードでは話にならないですからねー。