windows-nt/Source/XPSP1/NT/inetsrv/query/sdk/squery
2020-09-26 16:20:57 +08:00
..
jsquery.js Add source files 2020-09-26 16:20:57 +08:00
qsample.vbs Add source files 2020-09-26 16:20:57 +08:00
readme.txt Add source files 2020-09-26 16:20:57 +08:00
vbsquery.vbs Add source files 2020-09-26 16:20:57 +08:00

//+-------------------------------------------------------------------------
//
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//  PARTICULAR PURPOSE.
//
//  Copyright (c) 1999 Microsoft Corporation.  All Rights Reserved.
//
//  Sample Name: SQuery (VBSQuery, JSQuery, QSample)
//                - Sample Indexing Service scripts
//
//--------------------------------------------------------------------------

Description
===========
  The SQuery sample consists of three scripts that execute using Windows
  Script Host.  VBSQuery is written in VBScript and performs a simple
  query.  JSQuery is a translation of VBSQuery to JScript.  QSample is
  written in VBScript and functions similarly to the C++ sample application
  Simple (QSample) with managing and querying functionality.
  
Path
====
  Source: mssdk\samples\winbase\indexing\SQuery\
  
User's Guide
============
  * To execute queries using the VBSQuery.vbs or JSQuery.js scripts
      1. Open a command window and change the directory to the path of the
         sample scripts.
      2. Submit a fixed query by entering, at the command-line prompt,

         cscript vbsquery.vbs
         or
         cscript jsquery.js
         
  * To execute queries using the QSample.vbs script
      1. Open a command window and change the directory to the path of the
         sample scripts.
      2. Formulate a query that you know will succeed.  You need to know
         the query text and, optionally, values for the machine, catalog,
         scope, columns, query language dialect, locale,sort order, and
         other argument (see list below).
      3. Submit a query by entering, at the command-line prompt,

         cscript qsample.vbs <query> [arguments]

         where
         
         <query>         is an Indexing Service query.
         
         and the arguments can optionally include:
         
         /c:<catalog>    is the name of the catalog.
                             Default is SYSTEM.
         /e:<locale>     is ISO locale identifier, e.g. EN-US.
                             Default is system locale.
         /f:(+|-)        + or - specifies forcing use of the index.
                             Default is +.
         /g              specifies forcing a master merge.
         /i:<inputfile>  specifies an input file to read with queries,
                             one per line.
         /j              specifies to return just files in the scope path,
                             and not subdirectories.
         /l:<dialect>    specifies the query language dialect, 1 or 2.
                             Default is 1.
         /m:<machine>    is the name of the computer.
                             Default is the local computer.
         /o:<columns>    is the output column list.  Default is path.
         /p:<scope>      is the scope path of the query, absolute or relative.
         /q              specifies to execute quietly.
                             Display only query results.
         /r:#            is the number of times to repeat the command.
         /s:<sort>       is the sort column list.  Default is none.
                             For example: write[d].  Append [a] for ascending
                             (default) or [d] for descending.
         /t              specifies to display catalog statistics.
         /u              specifies to check if the catalog is up to date.
         /x:<maxhits>    is the maximum number of hits to retrieve.
                             Default is no limit.
         
Programming Notes
=================
  VBSQuery and JSQuery
  --------------------
    The query executed by these scripts is embedded in the script.  The query
    uses the Query Helper API and consists of the following.
     *  Columns = filename, directory, size, write
     *  Query = #filename *.asp
     *  GroupBy = directory[a]
     *  Catalog = system
     *  CiScope = \
     *  CiFlags = DEEP
     *  OptimizeFor = recall,hitcount
     *  AllowEnumeration = True
     *  MaxRecords = 20000

    The JSQuery is a direct translation of the VBSQuery script
    to JScript.  Its output is identical to that of VBSQuery except
    for a difference in the way dates and times are represented.

  QSample.vbs
  -----------
    QSample uses the Query Helper API and is much more general and
    flexible than the VBSQuery and JSQuery scripts.  It also uses
    the Admin Helper API to perform some managing tasks.
    
    Arguments
    ---------
      You can specify the following columns with the /o argument.
        * attrib
        * create
        * directory
        * docauthor
        * dockeywords
        * doclastauthor
        * docsubject
        * doctitle
        * fileindex
        * filename
        * hitcount
        * path
        * rank
        * size
        * vpath
        * workid
        * write

      You can specify the following locales with the /e argument.
        * af
        * ar ar-ae ar-bh ar-dz ar-eg ar-iq ar-jo ar-kw ar-lb
             ar-ly ar-ma ar-om ar-qa ar-sa ar-sy ar-tn ar-ye
        * be bg ca cs da
        * de de-at de-ch de-li de-lu
        * en en-au en-bz en-ca en-gb en-ie en-jm en-nz en-tt
             en-us en-za
        * es es-ar es-bo es-c  es-co es-cr es-do es-ec es-gt
             es-hn es-mx es-ni es-pa es-pe es-pr es-py es-sv
             es-uy es-ve
        * et eu fa fi fo
        * fr fr-be fr-ca fr-ch fr-lu
        * gd gd-ie
        * he hi hr hu in is
        * it it-ch
        * ja ji ko ko lt lv mk ms mt n neutr
        * nl-be
        * no p
        * pt pt-br
        * rm
        * ro ro-mo
        * ru ru-mo
        * s sb sk sq sr
        * sv sv-fi
        * sx sz th tn tr ts uk ur ve vi xh
        * zh-cn zh-hk zh-sg zh-tw
        * zu

    Example Queries
    ---------------
      cscript qsample.vbs mango /o:size,path
        Finds all files in the "system" catalog on the local computer that
        contain the word "mango" and outputs the size and path values.
      cscript qsample.vbs "peach and not apple"" /s:rank[d] /p:.
        Finds all files in the "system" catalog on the local computer with
        the relative path "." that contain the word "peach" but not the
        word "apple" and outputs the path value sorted in order of
        increasing rank.
      cscript qsample.vbs "@size > 1000000"" /o:size,path /s:size[a] /m:dogfood
        Finds all files in the "system" catalog on the computer "dogfood"
        whose size is greater than 1000000 bytes and outputs the size and
        path values sorted in order of increasing size.
      cscript qsample.vbs "@docauthor joe"" /o:docauthor,path /s:docauthor,path
        Finds all files in the "system" catalog on the local computer whose
        docauthor property is "joe" and outputs the docauthor and path
        values sorted in order of ascending docauthor and then ascending
        path.    
      cscript qsample.vbs apricot /p:c:\\files
        Finds all files in the "system" catalog on the local computer with
        an absolute scope of c:\files and outputs the path in unsorted order.
      cscript qsample.vbs /m:index1 /c:sources pear
        Finds all files in the "sources" catalog on the computer "index1"
        containing the word "pear" and outputs the path value in unsorted
        order.