搜尋要點

總覽

搜尋功能是AEM Communities的一項基本功能。 除了 AEM platform search 功能,AEM Communities提供 UGC搜尋API 以搜尋使用者產生的內容(UGC)。 UGC具有唯一屬性,因為它是單獨輸入和儲存的,與其他AEM內容和用戶資料分開。

對於Communities,一般會搜尋以下兩項:

  • 社群成員張貼的內容

    • 使用AEM Communities的UGC搜尋API。
  • 使用者和使用者群組(使用者資料)

    • 使用AEM平台搜尋功能。

開發人員在建立建立或管理UGC的自訂元件時,會關注檔案的本節。

安全性和卷影節點

對於自訂元件,必須使用 SocialResourceUtilities 方法。 建立和搜尋UGC的公用程式方法將建立所需 陰影節點 並確保成員對請求具有正確的權限。

未透過SRP公用程式管理的是與協調相關的屬性。

請參閱 SRP和UGC要點 有關用於訪問UGC和ACL卷影節點的實用程式方法的資訊。

UGC搜尋API

UGC常用商店 由多種儲存資源提供者(SRP)之一提供,每個提供者可能具有不同的原生查詢語言。 因此,無論選擇何種SRP,自訂程式碼都應使用 UGC API套件 (com.adobe.cq.social.ugc.api),會叫用適合所選SRP的查詢語言。

ASRP搜索

針對 ASRP,UGC會儲存在Adobe雲中。 雖然UGC在CRX中不可見, 審核 可在製作和發佈環境中使用。 使用 UGC搜尋API ASRP與其他SRP的作用相同。

當前不存在用於管理ASRP搜索的工具。

建立可供搜尋的自訂屬性時,必須遵循 命名需求.

MSRP搜尋

針對 MSRP,UGC會儲存在MongoDB中,設定為使用Solr進行搜尋。 UGC不會顯示在CRX中,但 審核 可在製作和發佈環境中使用。

關於MSRP和Solr:

  • MSRP不會使用AEM平台的內嵌解決方案。
  • 如果為AEM平台使用遠端解決方案,則可與MSRP共用,但應使用不同的集合。
  • Solr可配置為標準搜索或多語言搜索(MLS)。
  • 如需設定詳細資訊,請參閱 Solr配置 MSRP.

自訂搜尋功能應使用 UGC搜尋API.

建立可供搜尋的自訂屬性時,必須遵循 命名需求.

JSRP搜尋

針對 JSRP,UGC會儲存在 Oak 和只會顯示在其輸入之AEM作者或發佈例項的存放庫中。

由於UGC通常是在發佈環境中輸入,因此對於多發佈者生產系統,必須設定 發佈叢集,而非發佈伺服器陣列,以便從所有發佈者看到輸入的內容。

針對JSRP,在發佈環境中輸入的UGC將永遠無法顯示在製作環境中。 所以 審核 工作會在發佈環境中進行。

自訂搜尋功能應使用 UGC搜尋API.

Oak Indexing

雖然AEM平台搜尋不會自動建立Oak索引,但自AEM 6.2起,已針對AEM Communities新增索引,以改善效能,並在顯示UGC搜尋結果時提供分頁支援。

如果自訂屬性正在使用中,且搜尋速度緩慢,則需要為自訂屬性建立其他索引,以提升其效能。 要保持便攜性,請遵守 命名需求 建立可供搜尋的自訂屬性時。

要修改現有索引或建立自定義索引,請參閱 Oak查詢和索引.

Oak Index Manager 可從ACS AEM公域取得。 它提供:

  • 現有索引的視圖。
  • 啟動重新索引的能力。

若要在 CRXDE Lite,位置為:

  • /oak:index/socialLucene

social-lucene

索引搜索屬性

預設搜索屬性

以下是用於各種Communities功能的一些可搜索屬性:

屬性 資料類型
已標幟 布林值
isSpam 布林值
讀取 布林值
影響 布林值
附件 布林值
情緒 長整數
已標籤 布林值
已新增 日期
modifiedDate 日期
狀態 String
userIdentifier 字串
回復 長整數
jcr:title 字串
jcr:description 字串
sling:resourceType 字串
allowThreadedReply 布林值
isDraft 布林值
publishDate 日期
publishJobId 字串
已回答 布林值
喬森納 布林值
標籤 字串
cq:Tag 字串
author_display_name 字串
location_t 字串
parentPath 字串
parentTitle 字串

自訂屬性的命名

新增自訂屬性時,為了讓這些屬性可供排序和使用 UGC搜尋API,它 必填 為屬性名稱添加尾碼。

尾碼適用於使用結構的查詢語言:

  • 它會將屬性識別為可搜尋。
  • 它會識別資料類型。

Solr是使用結構的查詢語言的範例。

字尾 資料類型
_b 布林值
_dt 日曆
_d 雙精度
_tl 長整數
_s 字串
_t 文字

附註:

  • 文字 是被標籤的字串, 字串 不是。 使用 文字 模糊(更像這樣)搜索。

  • 對於多值類型,請將's'新增至尾碼,例如:

    • viewDate_dt:單一日期屬性
    • viewDates_dts:日期屬性清單

篩選條件

包括 註解系統 支援在其端點上新增篩選參數。

AND和OR邏輯的篩選語法如下表示(如在進行URL編碼前所示):

  • 要指定OR,請使用一個帶逗號分隔值的篩選器參數:

    • filter=name eq 'Jennifer',name eq 'Jen'
  • 若要指定AND,請使用多個篩選參數:

    • filter = name eq 'Jackson'&filter=message eq 'testing'

預設實作 搜尋元件 會使用此語法,如在 社群元件指南. 若要實驗,請瀏覽至 http://localhost:4503/content/community-components/en/search.html.

篩選運算子包括:

EQ 等於
NE 不等於
LT 小於
LTE 小於或等於
GE 大於
GET 大於或等於
LIKE 模糊匹配

URL必須參考Communities元件(資源),而非元件放置所在的頁面:

  • 正確:論壇元件
    • /content/community-components/en/forum/jcr:content/content/forum.social.json
  • 錯誤:論壇頁面
    • /content/community-components/en/forum.social.json

SRP工具

Adobe Marketing Cloud GitHub專案包含:

AEM Communities SRP工具

此存放庫包含管理SRP中資料的工具。

目前,有一個Servlet可從任何SRP中刪除所有UGC。

例如,要刪除ASRP中的所有UGC:

curl -X POST http://localhost:4502/services/social/srp/cleanup?path=/content/usergenerated/asi/cloud -uadmin:admin

疑難排解

Solr查詢

若要協助疑難排解Solr查詢的問題,請為

com.adobe.cq.social.srp.impl.SocialSolrConnector

實際的Solr查詢會在除錯記錄中顯示URL編碼:

對索爾的查詢是: sort=timestamp+desc&bl=en&pl=en&start=0&rows=10 &q=%2Btitle_t:(hello)+%2Bprovider_id:\/content/usergenerated/asi/mongo/content/+%2Bresource_type_s:&df=provider_id&trf=verbatim&fq={!cost%3D100}report_suite:mongo

的值 q 參數為查詢。 解碼URL編碼後,查詢即可傳遞至Solr Admin Query工具,以進行進一步除錯。

本頁內容