2009-03-13 4 views
2

Я использую модель объектного кода для получения результата поиска из поиска sharepoint. Может ли кто-нибудь предложить, как разместить опцию расширенного поиска для моего поиска. В модели объектного кода есть функция для расширенного поиска ,Расширенный поиск вариант Программный поиск Sharepoint

ответ

1

Да, вы можете выполнять расширенные поисковые запросы, используя класс FullTextSqlQuery, как показано в приведенном ниже примере кода. См. Также Best Practices: Writing SQL Syntax Queries for Relevant Results in Enterprise Search.

using (SPSite site = new SPSite("http://server")) // Site Collection URL 
using (FullTextSqlQuery query = new FullTextSqlQuery(site)) 
{ 
    query.ResultTypes = ResultType.RelevantResults; 
    query.EnableStemming = true; 
    query.TrimDuplicates = true; 
    query.Culture = new CultureInfo(1033); // Use en-US stemmer and word-breaker 
    query.RowLimit = 40; 
    query.StartRow = 0; 
    query.KeywordInclusion = KeywordInclusion.Allkeywords; // Implicit AND search 
    query.HighlightedSentenceCount = 3; 
    query.SiteContext = new Uri("http://server"); // Site Collection URL 
    query.QueryText = "SELECT WorkId, Title, Path, HitHighlightedSummary, HitHighlightedProperties, CollapsingStatus, Description, Rank, Size" + 
        " FROM SCOPE()" + 
        " WHERE \"scope\" = 'A Scope'" + 
        " AND FREETEXT(defaultproperties, 'keyword1 keyword2')" + 
        " AND Color = 'Black'" + // Color is a managed property 
        " ORDER BY Rank DESC";    

    ResultTableCollection results = query.Execute(); 
    ResultTable relevantResults = results[ResultType.RelevantResults]; 

    // TODO: Process results 
}; 
+0

, что работает отлично ... но мне нужно, чтобы получить результаты для управляемого свойства, соотносимых с пополз свойство бизнес-данные с именем по умолчанию, как «LOBSystemName.EntityName.ColumnName», который показывает ошибку ... Может кто поможет – kailash

+0

Не могли бы вы уточнить ошибку, которую вы получили? В приведенном выше коде вы можете просто добавить имена ваших управляемых свойств в список свойств после запятой после SELECT. –