ホームページ  >  記事  >  CMS チュートリアル  >  DedeCMS GBK バージョンに Sphinx フルテキスト インデックスがインストールされ、クエリを実行しても結果が得られない場合はどうすればよいですか?

DedeCMS GBK バージョンに Sphinx フルテキスト インデックスがインストールされ、クエリを実行しても結果が得られない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2020-01-13 09:27:512316ブラウズ

DedeCMS GBK バージョンに Sphinx フルテキスト インデックスがインストールされ、クエリを実行しても結果が得られない場合はどうすればよいですか?

DedeCMS GBK バージョンのインストール スフィンクスの全文インデックスをクエリできず、結果がありません。

以下は、DedeCMS GBK バージョンがインストールされている場合に、スフィンクスの全文インデックスをクエリしても結果が得られないという問題の詳細な分析と解決策の紹介です。以下

推奨学習:伟梦cms

このテストでは、sphinx-coreseek バージョン 4.0 の中国語バージョンがインストールされました。コマンド ラインでクエリを実行するには、テスト中国語コマンドを使用します。

echo 网络搜索 | iconv -f gbk -t utf-8 | search -c D:\webserver\coreseek-4.0.1-win32\etc\csft_dedecmsv57.conf --stdin | iconv -f utf-8 -t gbk

は正常にクエリできます。

しかし、DedeCms では結果が出ません。手探りした結果、ようやく原因がわかりました。DedeCMS GBK 版の search.php でのキーワード編集は GBK で、スフィンクスの全文インデックス要件は utf8 です。

そのため、GBK でエンコードされた中国語をクエリすることはできません;

解決策:

plus で search.php を開き、次の行を見つけます:

$keyword = addslashes(cn_substr($keyword,30));

この行の下に追加します:

$keyword= mb_convert_encoding($keyword,"UTF-8", "GBK");

は通常どおりにクエリできます。

以上がDedeCMS GBK バージョンに Sphinx フルテキスト インデックスがインストールされ、クエリを実行しても結果が得られない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。