1

umbracoで新しいドキュメントタイプを作成しました。次に、コンテンツでこのドキュメントタイプによっていくつかのノードを作成しました。新しい検索インデックスを設定するので、このコードを見つけて、新しい検索インデックスを設定します。

@* Get the search term from query string *@
@{var searchTerm = Request.QueryString["search"];}
@{var results = ExamineManager.Instance.Search(searchTerm, true); }

しかし、自分のドキュメントタイプでのみ検索できるこのコードを制限する方法がわかりません。

4

1 に答える 1

1

これにはいくつかの手順があります。

あなたはしなければならない:

  • ISearchCriteriaオブジェクトを作成します。
  • 検索するフィールドとしてdocTypeエイリアスを含め、条件オブジェクトから検索式を作成します。
  • 式を使用して検索します。

これは次のようにコーディングできます。

var criteria = ExamineManager.Instance.CreateSearchCriteria();

var expression = criteria.Field("nodeTypeAlias", "yourDocTypeAlias")
                         .And()
                         .Field("nodeName", searchTerm);

var results = ExamineManager.Instance.Search(expression.Compile());

これが可能なのは、Umbracoがノードを公開するときに、ノードのdocTypeエイリアスを検索インデックスに保存するためです。

ここには、さらに多くのExamineドキュメントがあります。また、Umbracoによって実際に保存されているものを確認できるように、インデックスの内部を確認できるスタンドアロンツールであるLukeをダウンロードすることをお勧めします。

于 2013-01-15T10:18:27.157 に答える