MySQLで全文検索を行いたく、色々と調べ、試行錯誤をしたのですが
どうしてもできないので、mysqlでの全文検索のやり方がわかるかたがいらっしゃいましたら
お教え願えますでしょうか。
私がやったこと
0。Mysqlのバージョン 5.5.23をインスコ my.confにft_min_word_len=1を追加 mysql再起動
1。MyISAM型のbookテーブルを作成(utf8_general_ciでとりあえず idとsearch_wordsという2カラムのみ idをprimaryに設定)
2。検索対象であるsearch_wordsをFulltext型に変換
sql> alter table book add fulltext( search_words );
3。データを登録
insert into book (id, search_word) value (1, '夏目漱石 こころ natsume souseki kokoro BOOK-NO-012 時は明治末期。夏休みに鎌倉へ旅行をしていた「私」は鎌倉に来ていた「先生」と出会い交流を始め東京に帰った後も先生の家に出入りするようになる。先生は奥さんと静かに暮らしていた。先生は私に何度も謎めいた、そして教訓めいたことを言う。私は、先生に過去を打ち明けるように迫ったところ来るべき時に過去を話すことを約束した。');
4。mecabで分かち書きした、「夏目」「漱石」をスペースで区切った文字で検索
っがしかし、検索結果が帰ってこない
実行してみたSQL
select * from book where match( search_word ) against( '夏目 漱石' IN BOOLEAN MODE);
select * from book where match( search_word ) against( '+夏目 +漱石' IN BOOLEAN MODE);
select * from book where match( search_word ) against( '"夏目 漱石"' IN BOOLEAN MODE);
select * from book where match( search_word ) against( '"+夏目 +漱石"' IN BOOLEAN MODE);
select * from book where match( search_word ) against( '"+夏目 +漱石"' IN BOOLEAN MODE);
select * from book where match( search_word ) against( '"*夏目 *漱石"' IN BOOLEAN MODE);
select * from book where match( search_word ) against( '"*夏目* *漱石*"' IN BOOLEAN MODE);
「夏目漱石」とひとくくりにした文字列で検索すると、レコードが帰ってきます
また、against( 'natsume souseki' IN BOOLEAN MODE); も帰ってきます
実際にやってみたいことは、上記の文章で「先生」「鎌倉」「私」「夏目」の4語で検索すると
上記のレコードが帰ってくるということがやりたいですのですが、
select * from book where match( search_word ) against( '夏目 先生 鎌倉 私' IN BOOLEAN MODE);
のSQLや対象文字列に+や*を付けたものを実行しても引っかかりませんでした。
私が行った設定/sqlに不備がございましたらご指摘/ご指導いただけませんでしょうか。
よろしくお願いいたします。
ネットで調べて、CentOS5.8上で、
最新のhttpd(Apache HTTP Server)2.2.23を、
RPMパッケージ化して、それを利用してインストールし、
最後に、Apacheの設定ファイル/etc/httpd/conf/httpd.confとして、
httpd.conf.rpmsaveをリネームして、
httpd.confとした上で、
↓
service httpd configtest
を実行したところ、
以前は、正常結果としてSyntax OKが表示されていたのですが、
今回は、以下のエラーが発生しています。
↓
Syntax error on line9 of /etc/httpd/conf.d/webdav.conf:
Invalid command 'SSLRequireSSL', perhaps misspelled or defined by a module not
included in the server configuration
そこでご質問ですが、
このようなエラーの原因(もしくは解消方法)について、
もしケース(パターン)として、
何か考えられることがございましたら
アドバイスでも構いませんので
教えてください。
以上になります。よろしくお願いします。
ESXiに新しく仮想マシンを作りCDからCentS6をインストール中以下のメッセージが途中表示されて
インストールエラーになります。インストーラーを中止しなければなりません。エラーの原因が分かりません。教えていただけますでしょうか。宜しくお願いします。
メッセージに書かれているようにメディアに問題があるのでしょうか?
"A fatal error occured when installing the cracklib-dicts package. This could indicate errors when reading the installation media. installation cannot continue.