Click to Rate and Give Feedback
MSDN
MSDN Library
User Interface
Windows Shell
Shell Reference
Shell Properties
Search
 System.Search.IsFullyContained

  Switch on low bandwidth view
System.Search.IsFullyContained
Emitted as TRUE by all child items of a container (such as an e-mail or a compressed file with a .zip name extension) that emits System.Search.IsClosedDirectory as TRUE. This ensures that the child items are included in the search index.

propertyDescription
     name = System.Search.IsFullyContained
     shellPKey = PKEY_Search_IsFullyContained
     formatID = 0B63E343-9CCC-11D0-BCDB-00805FCCCE04
     propID = 24
     searchInfo
          inInvertedIndex = false
          isColumn = false
          isColumnSparse = true
          columnIndexType = NotIndexed
          maxSize = 128
     labelInfo
          label
          sortDescription
          invitationText
          hideLabel = false
     typeInfo
          type = Boolean
          groupingRange = Discrete
          isInnate = false
          canBePurged
          multipleValues = false
          isGroup = false
          aggregationType = Default
          isTreeProperty = false
          isViewable = false
          isQueryable = false
          includeInFullTextQuery = false
          conditionType = String
          defaultOperation = Equal
     aliasInfo
          sortByAlias = None
          additionalSortByAliases = None
     displayInfo
          defaultColumnWidth = 20
          displayType
          alignment = Left
          relativeDescriptionType = General
          defaultSortDirection = Ascending
          stringFormat
               formatAs = General
          booleanFormat
               formatAs = YesNo
          numberFormat
               formatAs = General
               formatDurationAs = hh:mm:ss
          dateTimeFormat
               formatAs = General
               formatTimeAs = ShortTime
               formatDateAs = ShortDate
          enumeratedList
               defaultText
               useValueForDefault = False
               enum
                    value
                    text
               enumRange
                    minValue
                    setValue
                    text
          drawControl
               control = Default
          editControl
               control = Default
          filterControl
               control = Default
          queryControl
               control = Default

Remarks

PKEY values are defined in Propkey.h.

The System.Search.IsClosedDirectory property helps to optimize indexer performance by allowing the indexer to skip the enumeration of a container's child items. However, those child items are marked by the indexer as not visited, and as such will be deleted from the index. By emitting System.Search.IsFullyContained as TRUE, an item is not deleted from the index despite having not been visited.

Related Topics

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
This gives protocol handlers the ability to control the behavior of the indexer      Thermous   |   Edit   |   Show History

These properties are for custom protocol handlers implement ISearchProtocol/IUrlAccessor.

If you have a container which has complete knowledge of the items that have changed in the store, System.Search.IsClosedDirectory and System.Search.IsFullyContained allows you to prevent incremental crawls through your hierarchy.

The way this works is that if you are a processing a root container url with complete knowledge that if the container's date hasn't changed then none of the children have changed either...aka, you are a closed container and all of your children urls are fully contained. You indicate this by emitting IsClosedDirectory for the root container.

At the end of an incremental crawl, all URLs that have not been emitted will be assumed as deleted, unless they have the IsFullyContained property on them (remember, the incremental crawl was short-circuited because the root store knew nothing was changed.)

An example: Let's say that XYZ://foobar is a root store and at any time you know that if XYZ://foobar has not changed nothing below it has changed. Your protocol handler would then do the following when processing urls:

XYZ://foobar --> IFilter should emit System.Search.IsClosedDirectory. This property tells the indexer that if nothing is changed, don't enumerate all of the child urls

XYZ://foobar/childurlN --> IFilter should emit System.Search.IsFullyContained. This property tellst the indexer that this url should not be deleted at the end of an incremental crawl because it is fully contained by the root store.

Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker