【问题标题】:Windows Search using OLE DB SQL Fields使用 OLE DB SQL 字段的 Windows 搜索
【发布时间】:2010-09-20 10:20:43
【问题描述】:

我需要在我的 .NET 应用程序中使用 Windows Search 来搜索包含某些关键字的某些文件。使用 OLE DB 连接到 Windows 7 上的 Windows Search 数据存储,所有这些都很容易。

我希望这是一个非常简单的问题。我一直在搜索用于 Windows 搜索的 SQL 查询的字段定义的高低,因此我可以简单地计算出我可以搜索的内容以及我可以在结果集中返回的内容。我没有设法在任何地方找到这个。

谁能指出我正确的方向?

【问题讨论】:

    标签: c# .net windows search oledb


    【解决方案1】:

    好的。我终于找到了我可能需要的所有元素。它们位于此处:

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

    几乎不胜枚举

    【讨论】:

      【解决方案2】:

      此页面 (http://msdn.microsoft.com/sv-se/library/ff518152(v=VS.85).aspx) 是一个很好的起点,但请注意,并非所有列在 Windows 搜索上下文中都有效(我认为它们对于其他应用程序(例如 Windows Media Center)有所不同。通过反复试验,我已发现 Windows 8.1 Search 上的有效列是:

      - 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
      

      【讨论】:

      【解决方案3】:

      Querying the Index Programmatically 是登录页面,您可以从中找到相关信息。 Microsoft Windows Search 3.x SDK 在 C#/.NET/Visual Studio 中有示例应用程序

      【讨论】:

      • 嗨 Khurram 谢谢你。我已经找到了这些页面,但我仍然无法找到我可以实际查询并从我的 SQL 语句返回的字段的细分。我可以找到我可以使用的 SQL 的语法,这很好,因为它是标准 SQL,但不是允许“表”定义,因为对我实际查询的内容缺乏更好的描述。有什么想法吗?
      猜你喜欢
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 2020-02-15
      • 2016-11-03
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多