搜尋Essentials

概觀

搜尋功能是Adobe Experience Manager (AEM) Communities的重要功能。 除了 AEM平台搜尋 功能,AEM Communities提供 UGC搜尋API 用於搜尋使用者產生的內容(UGC)。 UGC在輸入和儲存時,與其他AEM內容和使用者資料分開,因此有獨特的屬性。

針對Communities,通常會搜尋以下兩個專案:

  • 社群成員張貼的內容

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

    • 它使用AEM平台搜尋功能。

建立自訂元件以建立或管理UGC的開發人員,可能會對說明檔案的此區段感興趣。

安全性與陰影節點

對於自訂元件,有必要使用 SocialResourceUtilities 方法。 建立和搜尋UGC的公用程式方法會建立必要的 陰影節點 並確保成員擁有請求的正確許可權。

不透過SRP公用程式管理的內容為與仲裁相關的屬性。

另請參閱 srp和UGC Essentials 有關用來存取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進行搜尋。 CRX中未顯示UGC,但 稽核 可在製作和發佈環境中使用。

關於MSRP和Solr:

  • AEM平台的內嵌Solr不用於MSRP。
  • 如果針對AEM平台使用遠端Solr,則可與MSRP共用,但應使用不同的集合。
  • Solr可設定為標準搜尋或多語言搜尋(MLS)。
  • 如需設定詳細資訊,請參閱 Solr設定 用於MSRP。

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

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

JSRP搜尋

JSRP,UGC儲存在 Oak 而且只會顯示在輸入它的AEM作者或發佈執行個體的存放庫中。

由於UGC通常輸入在發佈環境中,因此對於多發佈者生產系統,必須設定 發佈叢集,而非發佈陣列,因此所有發佈者都能看見輸入的內容。

對於JSRP,在發佈環境中輸入的UGC在製作環境中從不可見。 因此,所有 稽核 工作會在發佈環境中進行。

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

Oak索引

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

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

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

Oak索引管理員 可從ACS AEM Commons取得。 它提供:

  • 現有索引的檢視。
  • 啟動重新索引的功能。

若要檢視中的現有Oak索引 CRXDE Lite,位置為:

  • /oak:index/socialLucene

social-lucene

索引搜尋屬性

預設搜尋屬性

以下是供各種Communities功能使用的一些可搜尋屬性:

屬性 資料類型
isFlagged 布林值
isSpam 布林值
讀取 布林值
影響 布林值
附件 布林值
情緒 長整數
已標幟 布林值
已新增 日期
modifieddate 日期
狀態 字串
userId 字串
回覆 長整數
jcr:title 字串
jcr:description 字串
sling:resourceType 字串
allowThreadedReply 布林值
isDraft 布林值
publishDate 日期
publishJobId 字串
已回答 布林值
chosenanswered 布林值
標籤 字串
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'

的預設實作 搜尋元件 會使用此語法,如同在開啟搜尋結果頁面的URL中所見。 社群元件指南. 若要實驗,請瀏覽至 http://localhost:4503/content/community-components/en/search.html.

篩選器運運算元包括:

EQ 等於
NE 不等於
LT 小於
LTE 小於或等於
GE 大於
GTE 大於或等於
按讚 模糊比對

重要的是,URL應參考Communities元件(資源),而非該元件所在的頁面:

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

SRP工具

有一個Adobe Experience Cloud GitHub專案,其中包含:

AEM Communities SRP Tools

此存放庫包含用於管理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查詢的問題,請為啟用DEBUG記錄

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管理查詢工具,以便進一步偵錯。

本頁內容