首頁 > 後端開發 > php教程 > Joomla 藝術簡介中智慧搜尋的剖析。

Joomla 藝術簡介中智慧搜尋的剖析。

Barbara Streisand
發布: 2024-11-29 03:39:13
原創
394 人瀏覽過

您可能已經知道 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」.
的結果 在搜尋表單中輸入這個或那個將返回包含「這個」或「那個」
的結果 在搜尋表單中輸入「這個和那個」(帶引號)將返回包含確切短語「這個和那個」

的結果

我想再次指出,這是 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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板