質問

私はBDCアプリケーションの検索コンテンツソースを追加し、結果は正しく入力されています。ここまでは順調ですね!私は実際には結果が表示される方法が好きではありませんが、

問題1:結果タイトル

結果のタイトルは常にプロファイルページのファイル名です。明らかに、タイプのすべての項目は同じプロファイルページを持っているので、これは本当に役に立ちません。そこに表示されているものを変更する方法はありますか?理想的には、最初の名前+姓など、アイテム上のいくつかの異なるフィールドの組み合わせです。

以下のスクリーンショットを例として使用して、CUSTOMER_1.ASPX、コンテンツスニペットの真上にあるリンクを変更します。

SharePoint Search Result

問題2:テキストスニペット

検索結果に特定のフィールドをアイテムから表示させる方法はありますか?この例では、連絡先検索の場合、私は自分の電話番号と電子メールアドレスをすぐに表示し、ユーザーをクリックし、プロファイルページが読み込ませ、基本的な連絡先情報を取得するのを待ちます。

アップデート:結果タイプ

私はその日のこの最も多くの研究を研究しています、そして私が外部コンテンツタイプの結果タイプを作成する必要があることを学びました。私がそれを持っていると、私はカスタム表示テンプレートを作成することができます。私はこれを一時的に試してみましたが、私はまだそれを働かせるように思われることはまだありません。

この列(このレコードタイプにのみヌル以外の整数)に管理されたプロパティを作成しましたが、機能するプロパティの一致設定を見つけませんでした。任意の提案?

画像の記述ここで

役に立ちましたか?

解決

解決策は、BCSフィールドを管理対象プロパティとして含む新しい表示テンプレートを作成することです。検索スキーマの下の検索サービスアプリケーションに管理対象プロパティを追加してから、完全なクロールを実行する必要があります。

既存の表示テンプレートをコピーしてから、管理対象プロパティとレンダリングロジックを追加して、必要な方法を見てください。

このガイドに従うことができます: http://www.ableblue.com/dblog/archive/2013/06/05/Introduction-to-SharePoint-2013-display-templates/ デバッグの場合: http:// www .ableblue.com /ブログ/アーカイブ/ 2014/03/01 / Create-A-Diagnostic-Display-Template /

結果の種類には、カップルの選択肢があります。おそらく最も簡単なことは結果ソースを作成することです。 BCSからエンティティだけを含む結果ソースを作成できます。結果は、BCSエンティティからのContentTypeに関連付けられます。私の場合、BcSentityは「顧客」です(私のBCSモデルで顧客エンティティがあるから)。このようにして、結果タイプのルールを作成し、それを結果ソースに適用します。それはあなたのものがasicustomerのようなものになるように見えます。

別の代替案は、ASICustomerNumber contains "1,2,3,4,5,6,7,8,9,0" のようなルールを作成することです。

他のヒント

問題1の解決策1(そして多分2も)

外部コンテンツタイプのプロファイルページホストを設定する必要があります それをするためにあなたはこのガイドをたどることができます http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/04/15/how-to-create-a-bcs-profile-page-in-SharePoint-2010.aspx

これがあなたを助けることができることを願っています。

RE:OP質問#1、「タイトルフィールド(BDC ECTSのプロファイルページ名)の代わりに管理対象プロパティを表示する方法」を表示しますか?」 (言い換えた)

このトピックに関するマシューズとベラエンゲンのさまざまなブログ投稿を読むことに基づく2つの解決策が見られます。まだどちらかを実装していません。

  1. Item_CommonItem_Body.htmlを変更して、タイトルフィールド出力を置き換えます。この共通表示テンプレートは、Line _#=ctx.RenderBody(ctx)=#_ によってディスプレイテンプレートから呼び出されます。
  2. Item_CommonItem_Body.htmlからのコードの行_#=ctx.RenderBody(ctx)=#_ を置き換えます。

    (1)のItem_CommonItem_Body.htmlでは、Line var titleHtml = String.format(...);を変更して目的の管理対象プロパティを出力します。もちろん、これは検索センターの多くのディスプレイテンプレートに影響します。これはあなたが望むものではないかもしれません。

    (2)の場合、複数の結果タイプがある場合は、複数の項目表示テンプレートがコードを複数回行わなければなりません。

    どちらも素晴らしい解決策です。

    SharePoint Server 2013 に検索結果を変更する方法

RE: the OP question #1 redux, I did more research and found what is likely the preferred solution for 80% of cases. I left my other answer in case the details are useful for the other 20% of casses.

To recap, "How do you display a managed property in place of the Title field (profile page name for BDC ECTs) in the display template?" (paraphrased).

Answer: For BDC / search scenario, map the managed property Title to the crawled property corresponding to the desired entity field.

  • Start by browsing to your search service application
  • Open Search Schema > Managed Properties
  • Filter to properties that contain "Title"
  • Edit the "Title" property

enter image description here

  • Add mapping to the required crawl property(ies)

If you need a crawled property for an aggregate of entity fields, instead create a composite field on the entity because only a single crawled property value will be mapped.

enter image description here

  • Recrawl
  • Recrawl again

I found that the managed property and search results (display template) did not render the correct value from the crawled property until after a couple of crawls or a few hours later. Not sure why.

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top