Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#1 2009-04-23 21:28:28

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: <%relevance%>対応SEARCH.php

テンプレート変数<%relevance%>ってのがあるんですが、
日本語版コアでは常に0しか返ってきません。
分かち書きのない連文節のマルチバイト文字列から単語を拾えるよう、
日本版は独自のSEARCH.phpを使っているためです。
この変数、あまりの意味不明ぶりにか、フォーラムで話題に上ることもないようです。
ヘルプを訳すなら

検索結果を表示するテンプレートに「検索関連度」を挿入する

といったところでしょうか。
せっかくの変数が使えないのはなんだか悔しいので、
本家版3.41のSEARCH.phpに日本版をマージ、一部コードを復元して機能するようにしました。
文中の日本語を検索した場合はやはりなかなか関連度上がりませんが、
以下のようなケースではカウントされます。
・英数文字列
・フレーズ全体
・キーワードがタグで挟まれている
・キーワードが括弧等記号で挟まれている(これらはMySQLのデリミタ設定によるかも)
また、検索結果のソートが関連度順になります。

なお、MySQLの設定による以下の制約を受けます。
・単語の長さがft_min_word_lenの値以下のキーワードは無視されます。デフォルトは4です。
・全レコードの50%以上がヒットする場合無視されます。
http://dev.mysql.com/doc/refman/4.1/ja/ ... earch.html

※FULLTEXTで無視されてもちゃんとLIKEで検索はできます。

それとこのトピックのハックを加えています。
<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=3824">viewtopic.php?t=3824</a><!-- l -->


Attachments:
zip search_jp_relevance.zip, Size: 2.94 KiB, Downloads: 181
gif relevance.gif, Size: 40.15 KiB, Downloads: 540

オフライン

#2 2009-05-03 17:23:07

きゃしゃ
メンバー
From: 北河内
登録日: 2007-12-15
投稿: 351

Re: <%relevance%>対応SEARCH.php

euc-jp(っていうかutf-8以外のマルチバイト)に対応しました(たぶん)
公式日本語版がEUC対応になったらそっちのコードに合わせます。
(需要なんかキニシナイ!)


Attachments:
zip search_jp_relevance2.zip, Size: 3.08 KiB, Downloads: 166

オフライン

Board footer