MySQLで日本語全文検索を行うためには、まず、形態素解析やN-gramによって、文字列をワードごとに分割して、スペースで区切り、さらに、16進数文字に変換したりして、あたかも日本語ではないかのように装う必要があります。
個人的には頻度順検索はできませんけど、素直に like ’%$phrase%’ が手軽だと思います。(笑)
MySQL :: The world's most popular open source database
function FullTextSearch($phrase) {
return $this->LoadAll(”select * from ”.$this->config[”table_prefix”].”pages where latest = ’Y’ and ( tag like ’%”.mysql_escape_string($phrase).”%’ or body like ’%”.mysql_escape_string($phrase).”%’)”);
}
尚、 $phrase と MySQL データベース内の文字コードは統一する必要があります。
ありがとうございます。やはり重複して書かないといけないのですね。早速試してみます。
えーと、いちおう調べたんですが、基礎の基礎がわからない状態なのです。likeをつかうとして、具体的にどう書き換えればいいのでしょうか。
えーとand tag like ’%$phrase%’はわかるんですけど、bodyからもさがすので、えーと、見苦しいですけどさらにand body likeってかけばいいのでしょうか。