Windows Search sql - невозможно получить доступ к System.Search.QueryFocusedSummary - PullRequest
6 голосов
/ 20 мая 2011

Я пытаюсь запросить Windows Search 4.0, используя sql. Недвижимость меня интересует: System.Search.QueryFocusedSummary.

Я пытаюсь прочитать это свойство из SystemIndex. Я получаю сообщение об ошибке «Столбец не существует». Я могу читать другие столбцы, такие как: System.Search.AutoSummary.

Я использую Microsoft Windows Search 3.x SDK скачать (Windows.Search.Interop.dll) в операционной системе Windows 7 и Windows Поиск 4.0.

Мой запрос:
SELECT TOP 25 System.QueryFocusedSummary From SystemIndex where CONTAINS('microsoft') ORDER BY System.ItemDate DESC

Как мне заставить запрос работать с System.Search.QueryFocusedSummary?

Код выглядит следующим образом:

using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.IO;
using System.Security.Permissions;
using System.Text;
using Microsoft.Search.Interop;

namespace QueryFocusedSummaryTest
{
    class Program
    [Stathread]
    static void Main(string[] args)
    {
        string sqlQuery = "select top 25 System.Search.QueryFocusedSummary from SystemIndex where contains('microsoft') order by System.ItemDate DESC";

        CSearchManager manager = new CSearchManager();
        ISearchCtalogManager catalogMaager = manager.GetCatalog("SystemIndex");
        ISearchQueryHelper queryHelper = catalogManager.GetQueryHelper();

        using (System.Data.OleDb.OleDbConnection conn = new OleDbConnection(queryHelper.ConnectionString))
        {
            conn.Open();

            using (OleDbCommand command = new OleDbCommand(sqlQuery, conn))
            {
                OleDbDataAdapter ds = new OleDbDataAdapter(command);
                DataSet ds = new DataSet();
                ds.Fill(ds);
                command.ExecuteNonQuery();
                //By now it has thrown the exception saying that the column is not found.
            }
        }
    }
} 

1 Ответ

2 голосов
/ 29 августа 2011

Вот ссылка о столбцах, доступных для интерфейса oledb:

https://web.archive.org/web/20120615190325/http://www.ariankulp.com/downloads/WindowsShellOLEProperties.txt

Кажется System.Search.QueryFocusedSummary не выставлено, в то время как System.Search.AutoSummary есть. Может быть, поэтому вы не можете получить колонку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...