ホームページ バックエンド開発 PHPチュートリアル Joomla アートにおけるスマート検索の構造 はじめに。

Joomla アートにおけるスマート検索の構造 はじめに。

Nov 29, 2024 am 03:39 AM

おそらく、Joomla には現代の要件を満たす検索機能 (スマート検索コンポーネント) が組み込まれていることはご存知でしょう。しかし、ユーザーがもう少し必要な場合はどうすればよいでしょうか?サードパーティの拡張機能も検索可能にしたい場合はどうすればよいでしょうか?この一連の記事では、サードパーティの Joomla コンポーネント用のスマート検索プラグインを作成する方法を見ていきます。

歴史的に、Joomla コアには「検索」と「スマート検索」という 2 つの検索コンポーネントがありました。簡単な検索は Joomla 1.x に含まれており、それ以来大きな変更はありません。このコンポーネント (com_search) がコア コンポーネント内だけでなく検索を行うには、プラグインを作成する必要がありました。プラグインの本質は、主にコンポーネントに必要な SQL クエリを与え、コンポーネントが理解できる構造のオブジェクトを形成することでした。クエリ結果から。検索自体は基本的に、LIKE '%word%' を使用したデータベースへの SQL クエリでした。 Joomla の Sphinx 検索エンジンが単純な検索プラグインの助けを借りて使用されたケースもありました。

Joomla 5 のスマート検索によるコンテンツのインデックス作成

Joomla 2.5 以降、スマート検索コンポーネント、com_finder がコアに含まれており、単純な検索との主な違いは コンテンツのインデックス作成でした。検索自体は、コンテンツの関連性に基づいて結果を生成し始めました。サイト ユーザー向けに、出版の開始日と終了日、言語、タイプ (記事、カテゴリ、製品など)、特定のカテゴリ、著者など、さまざまなパラメータに基づいてフィルタを使用して結果を制限できる検索パラメータが表示されます。内部では、テキストがトークンに分割され、トークンの重みが計算されます。インデックス設定はコンポーネント設定で利用できます。

The anatomy of smart search in Joomla art Introduction.
サイト訪問者向けの Joomla スマート検索ヒントの例:

検索フォームにこれとそれを入力すると、「これ」と「あれ」の両方を含む結果が返されます。
検索フォームに this not that と入力すると、"this" ではなく "that" を含む結果が返されます。
検索フォームにこれまたはそれを入力すると、「this」または「that」 を含む結果が返されます。
検索フォームに 「this and that」 (引用符付き) と入力すると、「this and that」 というフレーズを正確に含む結果が返されます。

これは Joomla コアの機能であり、サードパーティの拡張機能や、通常は有料のサードパーティのサービスではないことをもう一度注意してください。

実際に、サイト訪問者は通常、これらの追加のフィルターや検索パラメーターをすべて使用するのではなく、クエリを明確にするために再度質問するという事実に遭遇しました。記事のある通常のサイトでは、検索パラメーターは需要が低い可能性がありますが、内部のクローズド ヘルプ システムまたはドキュメント システム (Joomla には記事とワークフローのバージョン管理があり、詳細は docs.joomla.org を参照) では、これらのパラメーターはより多くの場合に使用されます。要求します。

インデックスの更新(再インデックス)

ライブ サイトでは製品や記事の追加、アーカイブ、削除、連絡先の更新など、常に何かが変化しているため、ミニ Google のインデックスを定期的に更新する必要があります。 - 検索で最新のデータを取得するには、コンテンツのインデックスを定期的に再作成する必要があります。インデックス結果はデー​​タベースに保存されるため、サイズが増加します。これは、この検索実装では正常です。

管理パネルから手動でインデックス作成を開始できます
The anatomy of smart search in Joomla art Introduction.
または (これが推奨オプションです) Joomla CLI サーバー コマンド ラインを使用します。これを行うには、サイトの cli フォルダーに移動します (Joomla CLI の使用方法の詳細については、記事「Joomla 4: 強力な CLI アプリケーション」を参照してください)。

The anatomy of smart search in Joomla art Introduction.
Joomla の CLI フォルダー。
このフォルダーで、次のコマンドを実行します:

php joomla.php finder:index
ログイン後にコピー

Joomla はコンテンツを非常に迅速にインデックスします。

The anatomy of smart search in Joomla art Introduction.
CLI 経由の Joomla 5 のスマート検索によるインデックス作成。
スケジュールされた実行のためにこのコマンドを CRON に追加すると、サイト訪問者は現在の検索結果を喜んで確認できるようになります。

0 2 * * * php /path/to/site/public_html/cli/joomla.php finder:index >/dev/null 2>&l
ログイン後にコピー

Joomla でのカスタムフィールドのインデックス作成

Joomla ユーザーフィールドは、さまざまなタイプのサイトで使用され、多くの場合、サイトでのオンライン支払いや配送料の計算が必要ないサービスや商品のカタログに使用されます。 Joomla がこれらのフィールドの値で検索できるようにするには、各フィールド (一番下の「オプション」タブ) に「検索インデックス」パラメーターを指定する必要があります。

The anatomy of smart search in Joomla art Introduction.
レイアウト オーバーライドを使用して検索結果にフィールド値を表示する方法を説明する記事「スマート検索と JFilters の結果にカスタム フィールドを追加する」も参照してください。
分類法 は、検索結果にフィールド データを表示する方法です (例: 「カテゴリ: 任意のカテゴリ」、「作成者: 任意の著者」)。分類は入れ子にすることができます。フィールド値で検索するには、「検索可能にする」または「検索可能にして分類として追加する」オプションを選択します。

The anatomy of smart search in Joomla art Introduction.
Joomla スマート検索の分類例。

次の記事では、JoomShopping の例を使用して、Joomla コンポーネント用のスマート検索プラグインを作成する方法を見ていきます。障害となる可能性のあるニュアンスや詳細に直面し始めるでしょうが、最終的にはすべての困難を克服し、Joomla 5 用の実用的なスマート検索プラグインを作成します。

Joomla コミュニティ リソース

  • https://joomla.org/
  • Joomla コミュニティ マガジンのこの記事

以上がJoomla アートにおけるスマート検索の構造 はじめに。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

2025 PHP状況調査の発表 2025 PHP状況調査の発表 Mar 03, 2025 pm 04:20 PM

2025 PHP状況調査の発表

See all articles