Опция расширенного поиска - PullRequest
2 голосов
/ 13 марта 2009

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

1 Ответ

1 голос
/ 13 марта 2009

Да, вы можете выполнять расширенный поиск, используя класс FullTextSqlQuery , как показано в примере кода ниже. См. Также Рекомендации: написание запросов синтаксиса SQL для релевантных результатов в поиске предприятия .

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
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...