公開状態欄で日時指定で公開したブログ記事がサイト内検索に反映されません

BaserCMSのブログにて、イベント案内を行うのに、公開状態欄で日時指定で公開しました。

サイト内には日時以降、サイト内に記事が表示されています。
ところが、サイト内検索を、記事タイトルで行っても検索結果に表示されません。

そこで、調査として、記事の公開後のDBバックアップを確認しました。

テストとして、同じ名称の入った記事2件を作成しました。
1件目は、公開状態欄で時間指定で表示された記事
2件目は、公開状態欄で時間指定せずに表示させた記事

結果、2件目は検索されました。

保存した「contents.csv」を確認したところ、"“になっている箇所を見つけました。
1件目は、公開状態欄で時間指定で表示された記事 値は”"
2件目は、公開状態欄で時間指定せずに表示させた記事 値は"1"

phpmyadminでその箇所を探すと
mysite_contents
[status]が該当している模様で
「公開/非公開」にてステータスが変わる様に見えました。

1件目は、公開状態欄で時間指定で表示された記事、“0"の公開日時が過ぎてもまま変わらず
2件目は、公開状態欄で時間指定せずに表示させた記事 値は"1”

これらの事から、ブログ記事を日時指定して公開した場合に、サイト内検索に反映されない事ではないかと
考えるにいたり、ユーザーフォーラムに投稿させていただきました。

BaserCMSが古い為、バージョンの高いサイトでも確認しました。

BaserCMS 3.0.16でも現象は同じでした。(mysite_contents statusで確認)

BaserCMS 4.3.7.1でも現象は同じでした。実際にサイト内検索されません。

■ BaserCMSのバージョン:3.0.10
■ レンタルサーバー名:独自
■ スマートURLの利用: [ON]
■ 設置フォルダ: []
■ 利用しているデータベース: [MySQL 5.1.73]
■ PHP Version 5.3.3
■ PHPスキル(自己評価): [ E ]

■ BaserCMSのバージョン:4.3.7.1
■ レンタルサーバー名:独自
■ スマートURLの利用: [ON]
■ 設置フォルダ: [サブフォルダ]
■ 利用しているデータベース: [MariaDB 5.5.64]
■ PHP Version 5.6.40
■ PHPスキル(自己評価): [ E ]

1 Likes

こちら、
公開状態に関しては時間が来ても「非公開」から「公開」に自動で切り替わるわけではありません。
なので、公開を予約したい場合、公開状態を「公開」に設定した上で、公開期間を未来に設定する必要があります。

こちらの件返信ありがとうございます。

状況を申しますと。
非公開から公開にに変える方法は、おっしゃる通りで理解しています。
ですので、「公開」にして、日時を指定していますので、ブログページは、時間になると公開されます。
ただし、サイト内検索には検索されない状況ということです。

サイト内検索がわのDBに公開のフラグが立たない状況と考えています。
時間していせずにそのまま公開すると、サイト内検索で検索されます。

1 Likes

なるほど・・・
そういう状況ですか・・・
試しにやってみますね

返信をいただきありがとうございます。

分かりにくい文章だった様で申し訳ありませんでした。
よろしくお願いします。

私の理解では、サイト内検索にヒットするかしないかは、そもそも、検索インデックスにエントリーされるか否かだと思いますので、ご指摘の記事が、まず検索インデックス一覧にエントリーしているのかを確認されてはいかがでしょうか?
通常、記事が公開(公開期間設定有り、無しかかわらず)、非公開にかかわらず、記事を作成した時点で、検索インデックス一覧にエントリーされます。
その後、公開期間設定によって、自動公開となった場合、あるいは、手動で非公開から公開設定に変更した場合、いずれの場合も、その時点からサイト内検索にヒットします。

上記を踏まえ、不具合の生じているサイトおよび記事の検索インデックス一覧へのエントリー状況は、どうなっていますか?

もし、当該記事が、何らかの理由(不具合を含む)でエントリーされていないようであれば、物は試しで、「検索インデックス再構築」をしてみてはいかがでしょう?

あるいは、「サイト内検索の検索結果より除外する」にチェックが入ってるとか。。。w それはないですよね^^:

1 Likes

色々と解説いただきありがとうございます。

もともとは、古い3.0.10でお客様からの相談という事でした。
わたしも、検索は
検索インデックスに(contents.csv)並びにdbでは、[mysite_contents]への登録は確認しています。
その上で、公開、非公開のフラグがあるという事かと思います。
実際、時間してせず、公開/非公開をくりかえすと、フラグ(status)が0/1で切り替わります
それば、時間指定すると、切り替わらない様です。

尚、検索対象から外すチェックを付けた場合は、(contents.csv)並びにdbでは、[mysite_contents]へデータが登録されませんでした。

“ブログ”,
“BlogPost”,
“286”,
“カレンダー”,
“タイトル”,
“内容XXXXX”,
“/events/archives/121”,
“1”,-----ここがフラグの様ですこれ公開の状態 [""]が非表示の状態
“0.5”,
“2021-03-02 11:45:56”,
“2021-03-02 11:46:35”

では、もう1点。
phpMyAdminで、当該記事の日時指定が正しいデータ型で入力されているのかを確認してみるというのはどうでしょうか?
意外に日時指定を手入力でしているような場合、正しく入力しているつもりが、実は全角混じりというようなこともあります。

1 Likes

もう一つのまさかですが。
公開期間で日時指定をして、その上で、「非公開」にチエック入れてたりしませんか?

↓のように「公開」にチェックして、公開期間の日時指定が正しい設定なのですが。。。いかがでしょう?

追記:
これは、すでに検証されていましたね、すいません。

問題解決にご助力いただきありがとうございます。
繰り返しで申し訳ありませんが、ブログ記事そのものは正常に指定日時で公開されています。問題になる様な入力の仕方ではなようです。
あくまで、サイト内検索で、検索されないのが問題なのです。
phpMyAdminで公開/表示開のステータスらしい箇所が、0/1で切り替わるのを確認していましたので。

■ BaserCMSのバージョン:4.3.7.1
■ PHP Version 5.6.40

上記環境(すいません、3.0.10は未検証です)で検証致しました。
結論として、ご指摘の不具合が再現すること確認しました。
また、最新の4.4.4では、上記不具合が発生しないことも確認しました。

ですので、もし可能であれば、最新版にアップデートしていただくと問題は解消されるはずなのですが。。。

追記:
本件のバグフィクスは、以下の項目として、4.4.0で行われたようです。

[コア] サイト内検索にてコンテンツの公開期間を反映できるようにした

リリースノートを確認しました。

最低でも4.4.0へのアップデートが必要という結論だと思います。

1 Likes