windows-nt/Source/XPSP1/NT/inetsrv/query/sdk/qsample/readme.txt

164 lines
6.5 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05: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) 1998-1999 Microsoft Corporation. All Rights Reserved.
//
// Sample Name: Simple (QSample) - Sample Indexing Service Application
//
//--------------------------------------------------------------------------
Description
===========
The Simple sample (QSample) is an example command-line application written
in C++ that executes a query using the OLE DB Helper API functions
CCreateICommand and CITextToFullTree to simplify the coding needed to
create a query to an Indexing Service catalog.
Path
====
Source: mssdk\samples\winbase\indexing\Simple\
User's Guide
============
* To build the sample
1. Set the Lib environment variable to "D:\mssdk\Lib;%Lib%" and the
Include environment variable to "D:\mssdk\Include;%Include%",
where D: is the drive on which you installed the Platform SDK.
2. Correctly set the CPU environment variable to, for example, "i386".
3. Open a command window and change the directory to the source path
of the example.
4. Build the example by entering, at the command-line prompt, "nmake".
* To execute queries using the sample
1. Open a command window and change the directory to the path of the
built sample.
2. Formulate a query that you know will succeed. You need to know the
machine, catalog, scope, and query text.
3. Submit the query by entering, at the command-line prompt,
qsample <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".
/d specifies to display the command tree.
Default is not to display.
/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
=================
This example is simpler than the AdvQuery sample because it uses the
OLE DB Helper functions CICreateCommand and CITextToFullTree instead of
creating a command tree and using the low-level ICommandTree interface.
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
---------------
qsample 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.
qsample "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.
qsample "@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.
qsample "@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.
qsample 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.
qsample /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.