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

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

Barbara Streisand
リリース: 2024-11-29 03:39:13
オリジナル
399 人が閲覧しました

おそらく、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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート