Поиск Windows с использованием полей OLE DB SQL

Мне нужно использовать поиск Windows в моем приложении .NET для поиска определенных файлов, содержащих определенные ключевые слова. Все это выглядит достаточно просто, используя OLE DB для подключения к хранилищу данных Windows Search в Windows 7.

У меня есть, как я надеюсь, очень простой вопрос. Я искал определения полей для SQL-запроса для поиска Windows, поэтому я могу просто решить, что я могу искать и что я могу получить в своем наборе результатов. Мне не удалось найти это нигде.

Может кто-то указать мне верное направление?


person Iain Kelwick    schedule 20.09.2010    source источник


Ответы (3)


ХОРОШО. Наконец-то я нашел все элементы, которые мне могут понадобиться. Они расположены здесь:

http://msdn.microsoft.com/sv-se/library/ff518152(v=VS.85).aspx

Почти слишком много, чтобы упомянуть

person Iain Kelwick    schedule 20.09.2010

Эта страница (http://msdn.microsoft.com/sv-se/library/ff518152(v=VS.85).aspx) — отличная отправная точка, но обратите внимание, что не все столбцы допустимы в контексте поиска Windows (я предполагаю, что они отличаются для других приложения, такие как Windows Media Center.Путем проб и ошибок я обнаружил, что допустимые столбцы в поиске Windows 8.1:

- System.Comment
- System.Company
- System.ComputerName
- System.ContentStatus
- System.ContentType
- System.Copyright
- System.DateAccessed
- System.DateAcquired
- System.DateArchived
- System.DateCompleted
- System.DateCreated
- System.DateImported
- System.DateModified
- System.DueDate
- System.EndDate
- System.FileAttributes
- System.FileDescription
- System.FileExtension
- System.FileFRN
- System.FileName
- System.FileOwner
- System.FlagColor
- System.FlagColorText
- System.FlagStatus
- System.FlagStatusText
- System.Identity
- System.Importance
- System.ImportanceText
- System.IsAttachment
- System.IsDeleted
- System.IsEncrypted
- System.IsFlagged
- System.IsFlaggedComplete
- System.IsIncomplete
- System.IsRead
- System.ItemAuthors
- System.ItemDate
- System.ItemFolderNameDisplay
- System.ItemFolderNameDisplay
- System.ItemFolderPathDisplay
- System.ItemFolderPathDisplayNarrow
- System.ItemName
- System.ItemNameDisplay
- System.ItemNamePrefix
- System.ItemParticipants
- System.ItemPathDisplay
- System.ItemPathDisplayNarrow
- System.ItemType
- System.ItemTypeText
- System.ItemUrl
- System.Keywords
- System.Kind
- System.KindText
- System.Language
- System.MileageInformation
- System.MIMEType
- System.Null
- System.OriginalFileName
- System.ParentalRating
- System.ParentalRatingReason
- System.ParsingName
- System.Priority
- System.PriorityText
- System.Project
- System.ProviderItemID
- System.Rating
- System.RatingText
- System.Sensitivity
- System.SensitivityText
- System.SFGAOFlags
- System.Shell.OmitFromView

Также эти поля для поиска с этой страницы (http://msdn.microsoft.com/en-us/library/windows/desktop/ff521715(v=vs.85).aspx):

- System.Search.AutoSummary
- System.Search.ContainerHash
- System.Search.Contents
- System.Search.EntryID
- System.Search.GatherTime
- System.Search.HitCount
- System.Search.Rank
- System.Search.Store
person GuruJ    schedule 15.08.2014
comment
Также есть этот обзор доступные столбцы. - person Uwe Keim; 18.11.2019

Программный запрос индекса страницу, где вы можете найти соответствующую информацию. Microsoft Windows Search 3.x В SDK есть примеры приложений на C#/.NET/Visual Studio.

person Khurram Aziz    schedule 20.09.2010
comment
Привет, Хуррам. Спасибо за это. Я уже нашел эти страницы, но до сих пор не могу найти разбивку полей, по которым я могу запросить и получить ответ из моего оператора SQL. Я могу найти синтаксис SQL, который я могу использовать, и это нормально, поскольку это стандартный SQL, но не определение таблицы разрешений из-за отсутствия лучшего описания того, что я на самом деле запрашиваю. Любые идеи? - person Iain Kelwick; 20.09.2010