異なるElasticsearchインデックスを検索した場合の結果の表示方法
How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!
While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.
legacy-article
learn-legacy-article-disclaimer-text
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちら までご連絡ください。
問題
低レベル検索オプション 機能を使用すると、フェデレート検索を実行することにより、代替インデックスを検索することができます。
通常の検索(Liferayの検索結果)では、SearchResultSummaryDisplayContexを使ってデータを取得し、検索結果を表示することができます。 これは、すぐに使えるウィジェット表示テンプレートで 見ることができるエントリーオブジェクトで得られるものです。 しかし、これは代替指標では利用できない。
では、ドキュメントのフィールドにアクセスし、その結果を表示するにはどうすればいいのでしょうか?
環境
DXP 7.3, DXP 7.4
2023年第3四半期, 2023年第4四半期, 2024年第1四半期
解像度
SearchResultsPortletDisplayContextを活用して、検索エンジンのドキュメントにアクセスし、それらを反復処理することができます。
ここでは、検索結果ウィジェット表示テンプレート内でそれを行う方法の例を示します:
<div class="search-total-label"> ${languageUtil.format(locale, "x-results-for-x", [searchContainer.getTotal(), "<strong>" + htmlUtil.escape(searchResultsPortletDisplayContext.getKeywords()) + "</strong>"], false)} </div> <div class="display-list"> <ul> <#list searchResultsPortletDisplayContext.getDocuments() as document> <#assign searchResultSummaryDisplayContext = searchResultsPortletDisplayContext.getSearchResultSummaryDisplayContext(document) /> <li><strong>Title: </strong>${document.get("title_es_ES")} <ul> <li><strong>Modified:</strong> ${document.get("modified")}</li> <li><strong>Id:</strong> ${document.get("articleId")}</li> <li><strong>Site Id:</strong> ${document.get("groupId")}</li> </ul> </li> </#list> </ul> </div>
did-this-article-resolve-your-issue