搜尋Essentials search-essentials

概觀 overview

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

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

  • 社群成員張貼的內容

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

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

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

安全性與陰影節點 security-and-shadow-nodes

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

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

另請參閱 srp和UGC Essentials 有關用來存取UGC和ACL陰影節點的公用程式方法的資訊。

UGC搜尋API ugc-search-api

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

ASRP搜尋 asrp-searches

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

目前沒有管理ASRP搜尋的工具。

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

MSRP搜尋 msrp-searches

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

關於MSRP和Solr:

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

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

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

JSRP搜尋 jsrp-searches

JSRP,UGC儲存在 Oak 而且只會顯示在輸入它的AEM Author或Publish例項的存放庫中。

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

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

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

Oak索引 oak-indexing

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

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

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

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

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

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

  • /oak:index/socialLucene

social-lucene

索引搜尋屬性 indexed-search-properties

預設搜尋屬性 default-search-properties

以下是供各種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
字串

命名自訂屬性 naming-of-custom-properties

新增自訂屬性時,這些屬性會顯示於使用 UGC搜尋API,它是 必填 以新增尾碼至屬性名稱。

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

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

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

字尾
資料型別
_b
布林值
_dt
行事曆
_d
兩次
_tl
_s
字串
_t
文字

附註:

  • 文字 是標籤字串, 字串 不是。 使用 文字 用於模糊(類似於)搜尋。

  • 對於多值型別,請在尾碼中新增's',例如:

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

篩選條件 filters

元件,包括 註解系統中,除了其端點外,也支援篩選引數。

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工具 srp-tools

有一個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

疑難排解 troubleshooting

Solr查詢 solr-query

若要協助疑難排解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管理查詢工具,以便進一步偵錯。

相關資源 related-resources

recommendation-more-help
81e2cd9d-0789-409d-b87c-2a8ce4f28791