1

こんにちは、umbraco でインデックスを作成して、ユーザー コントロールを作成し、検索条件とフィルターを作成した umbraco の任意のキーワードを検索しましたが、エイリアス名 bodyText を含むノードのリストを表示していますが、そうでないすべてのノードのリストが必要ですすべてのプロパティ エイリアス名 bodytext を指定することはできないため、エイリアス名 bodytext を使用します。umbraco ですべてのノードとすべてのプロパティを検索するにはどうすればよいですか

 protected void Page_Load(object sender, EventArgs e)
    {
       SearchTerm = Request.QueryString["s"];

        if (string.IsNullOrEmpty(SearchTerm)) return;

        var criteria = ExamineManager.Instance
                .SearchProviderCollection["DemoSearcher"]
                .CreateSearchCriteria(UmbracoExamine.IndexTypes.Content);

        var filter = criteria
        .GroupedOr(new string[] { "nodeName", "bodyText" }, SearchTerm)
        .Compile();



       SearchResults = ExamineManager.Instance.SearchProviderCollection["DemoSearcher"].Search(filter);

        SearchResultListing.DataSource = SearchResults;
        SearchResultListing.DataBind();

    }
4

1 に答える 1

0

整数フィールドや GUID、さらにはマルチノード ピッカーの json や xml を検索しても、期待どおりの結果が得られるとは限らないため、すべてのタイプのフィールドを検索しますか。

各ノードのプロパティを列挙し、プロパティが検索したいタイプ (テキスト ボックスなど) である場合は、必ずしも bodyText と呼ばれないテキスト ボックスを検索するための基礎として以下を使用できます。

foreach(node in nodes)
{

  var props = node.PropertiesAsList;

  foreach (var prop in props)  
  {
    if (@prop.Value.GetType() == " ... type you want to search ... ")
    {
      var fieldValue = node.getProperty(@prop.Alias).Value;
      ... search fieldvalue ...
    }
  }
} 
于 2012-11-29T09:03:10.790 に答える