質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

Drupal

DrupalはPHPで書かれたオープンソースのCMSフレームワークです。

Drupal 7

Drupal 7とは、2011年1月5日にリリースされたDrupalのバージョンです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1886閲覧

【Drupal7】Drupalの検索機能で検索結果がうまく出ない【PHP】

tonari

総合スコア45

CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

Drupal

DrupalはPHPで書かれたオープンソースのCMSフレームワークです。

Drupal 7

Drupal 7とは、2011年1月5日にリリースされたDrupalのバージョンです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/04/06 08:13

編集2020/04/06 09:39

こんにちは。
Drupal7の検索機能について質問です。

Drupal7に記事を書いているのですが、
Drupalのサイト内を検索したときに記事が出るものと出ないものがあり困っています。

・具体的な挙動

ー前提ー
記事A
記事B
があります。

記事Aの概要・本文:「てすとに数式が出た」
記事Bの概要・本文:「てすとに漢字が出た」

どちらの記事の「概要」・「本文」にも「てすと」という文字が入っています。

ー挙動ー
①文字検索で「てすと」と打ちます。
②検索結果に記事Aだけが出ます。
③ためしに記事Bの本文に書いてある「漢字」を文字検索で打ちます。
④検索結果に記事Bが出ます。

このことから検索自体はできているのに何故か「てすと」の文字では記事Bが出ないことがわかります。

しかし私がDrupal初心者のため
admin/config/search/settingsなどを見てみましたが、
検索の仕方をどこで制御しているのかわかりません。

質問がわかりにくいかもしれませんがよろしくお願いいたします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Drupal (Ver.7)レベルでの検索設定は /admin/config/search/settings でいいと思います。

報告の現象は、そうではなく、データベースレベルのcollationの設定のように見えます。collationとは、データベース上において、言語や文字コードをどう判断するかの設定です。この場合、想像ですが、データベースのcollationにおいて、文字列を日本語としては認識しないような設定になっているのではないでしょうか。だから、前後のキャラクターによって、文字列がたまたま引っかかったりあるいは引っかからなかったりする、と。Drupalの検索機能は、基本的にデータベースのインデックス機能を使っているから、データベースが認識していないものは認識できないことになりましょう。

collationは、アクセスパーミッションに似て、データベース自体の設定です。それはDrupalからはおそらく制御できないと推察します。ひょっとしたら方法があるかも知れませんが、データベースレベルの設定は、データベースで直接設定するのが王道でしょう。

設定方法は、お使いのデータベースに依存します。加えて、もしProduction環境であれば、その環境ごとに設定方法が異なりましょう。

一例として、PostgreSQL Ver.10 以降であって自分に設定権限がある場合は、 yohgaki's blogのこの記事は、日本語環境用のcollocation設定の参考になりました。

投稿2021/09/10 12:07

MasaSakano

総合スコア188

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問