searchinfo XML status report syntax (FAST Search Server 2010 for SharePoint)

 

Applies to: FAST Search Server 2010

The searchinfo status command retrieves an XML-formatted report for the Microsoft FAST Search Server 2010 for SharePoint query matching status. This article describes the syntax of the report.

The command returns one report for each server that is requested in the command.

Element quick reference

The report uses the following elements:

Element Description

<search-stats>

This is the top-level element.

<error>

This element describes an error condition related to the query matching component.

<fdispatch>

This element shows information related to the fdispatch process, which is responsible for dispatching queries to query matching components.

<hostname>

This element shows the host name of the server that runs this component.

<searchhandler>

This element shows information about search handlers, which are instances that process incoming search queries.

<datasets>

This element contains a single dataset sub-element.

<dataset>

This element shows information about each query matching component (engine), related to queries that are submitted by the dispatcher.

<engine>

This element shows information about the fsearch process that is associated with one index partition.

<fsearch>

This element shows information related to the fsearch process, which is responsible for query matching.

<search-statistics>

This element shows information about query matching statistics.

<attributevectors>

This element shows information related to memory structures for deep query refinement and sorting.

The following elements contain information that is mainly used for debugging:

<version>, <filedesc-resource>, <httpdconn>, <file-statistics>, <transportd>, <result-cache>, <resultattr-cache>, <docinfo-cache>, <boolean-occ-cache>, <pos-occ-cache>, <phrase-occidx-cache>, <phrase-occ-cache2>, <bitvector-cache>, <int-range-bitvector-cache>, <int-occ-cache>, <filter-occ-cache>, <dict-cache>, <subquery-cache>, <attributevector>

searchinfo status XML format

The status output follows all conventions and syntax rules that are defined for the XML file format.

The basic XML structure is as follows:

<search-stats>
 <error />
 <fdispatch>
   <error />
   <version />
   <hostname />
   <searchhandler />
   <datasets>
    <dataset>
     <engine />
    </dataset>
   </datasets>
   <filedesc-resource />
 </fdispatch>
 <fsearch>
   <version />
   <search-statistics />
   <httpdconn />
   <file-statistics />
   <transportd />
   <result-cache />
   <resultattr-cache />
   <docinfo-cache />
   <boolean-occ-cache />
   <pos-occ-cache />
   <phrase-occidx-cache />
   <phrase-occ-cache2 />
   <bitvector-cache />
   <int-range-bitvector-cache />
   <int-occ-cache />
   <filter-occ-cache />
   <dict-cache />
   <subquery-cache />
   <attributevectors >
     <attributevector />
   </attributevectors>
   <filedesc-resource />
 </fsearch>
</search-stats>

fdispatch

This element shows information related to the fdispatch process, which is responsible for dispatching queries to query matching components.

There is one instance of the fdispatch process on the query processing server, which dispatches queries to individual query matching servers.

There is one instance of the fdispatch process on each query matching server, which dispatches queries to the individual query matching partitions on the query matching servers.

Note

In a multiple server deployment, the query processing server usually runs on a different computer than the query matching server.

engine elements of type search represent the underlying fsearch processes that manage query matching on different index partitions. In a multiple server deployment with more than one index column or search row, the top-level fdispatch is also listed as type dispatch, because it is a dispatcher to underlying query matching servers.

hostname

This element shows the host name of the server that runs this component.

Attributes

Attribute Description

name

The host name of the server that runs this component. For more information about the server roles in the deployment, see the deployment.xml configuration file.

Remarks

For the top-level query dispatcher (on the query processing server), the host name may be displayed as "localhost" instead of the actual host name. You can see that this is the top-level query dispatcher by looking at the engine sub-elements, where type has the value dispatch.

searchhandler

This element shows information about search handlers, which process incoming search queries.

Attributes

Attribute Description

instantiate-count

Shows the total number of search handler threads.

active-count

Shows the number of queries that are currently being evaluated.

dataset

This element contains information about each query matching component, related to queries that are submitted by the dispatcher.

Attributes

Attribute Description

active-nodes

Shows the number of active query matching (fsearch) processes.

total-search-time

Shows the total time used for query matching.

up-time

Shows the total uptime for this component since the last restart.

avg-seconds-per-search

Shows the average number of seconds used per query evaluation.

partitions

Shows the number of index partitions as seen from this query dispatcher. If this is the top-level dispatcher, the number will reflect the number of index columns.

timed-out-percentage

Shows the percentage of queries that have timed out.

max-active-partitions

Shows the maximum number of active index partitions that were created.

avg-searches-per-sec

Shows the average number of queries per second.

first-partition

Shows the first index partition number.

samples

Shows the number of queries that were used to calculate the avg-searches-per-sec value

id

This attribute contains information that is mainly used for debugging.

unit-selection-cost

This attribute contains information that is mainly used for debugging.

timed-out

Shows the number of query timeouts that occurred.

total-searches

Shows the total number of queries since the last index set change.

max-active-nodes

This attribute contains information that is mainly used for debugging.

total-selection-cost

This attribute contains information that is mainly used for debugging.

active-partitions

Shows the total number of active index partitions.

avg-uncached-search-time

Shows the average number of seconds per query, when the query cache is not used.

Remarks

Within each index column, the indexer uses a dynamic partitioning of the index in order to handle large numbers of indexed items with low indexing and query latency. This partitioning is dynamic and is handled internally on each indexer.

engine

This element shows information about the underlying query matching engines as seen from this fdispatch processes.

If this is the fdispatch process on the query matching server, then each engine element represents an fsearch process that is associated with one index partition on this server.

If this is the fdispatch process on the query processing server, then each engine element represents an fdispatch process on a query matching server.

Attributes

Attribute Description

socket

Shows the connection identifier for the query matching component that is associated with the index partition. The identifier is specified by using the following format:

<hostname>:<port>

samples

Shows the number of queries that were issued.

avg-search-time

Shows the average number of seconds per query.

Note

This attribute is not returned if the value for samples is 0.

partition

Shows the index partition identifier.

type

Shows the type for this engine element.

  • dispatch: The engine element represents an fdispatch process on a query matching server.

  • search: The engine element represents an fsearch process.

state

Shows the state of the fsearch or fdispatch process associated with this engine element.

  • up: Active and able to serve queries.

  • down: Not active. This usually indicates that there are two fsearch processes that run in parallel on the same partition, but only one of them is running and serving queries.

docstamp

Shows the date/time when the index files were created, measured in seconds since January 1, 1970.

row

Shows the associated search row.

refcost

This attribute contains information that is mainly used for debugging.

active

Shows the number of searchable items in the index that is associated with the index partition.

Remarks

You may experience high avg-search-time values (evaluation time for queries) for newly created indexes where the number of queries (samples) is very low. This is related to the initial creation of query caches.

fsearch

This element contains statistics and resource usage information related to the fsearch process, which is responsible for query matching.

There is one fsearch process for each index partition in an index column.

Attributes

Attribute Description

name

Specified as "localhost:<port number>", where <port number> is the port number for the fsearch process. You can find the associated partition number from the fdispatch/engine element that has the same value for the socket attribute.

search-statistics

This element shows information about query matching statistics.

Attributes

Attribute Description

up-time

Shows the number of seconds since this process was started (restarted).

total-search-time

Shows the total number of seconds used for query matching.

total-searches

Shows the number of queries processed.

avg-searches-per-second

Shows the average number of queries per second.

avg-search-time

Shows the average number of seconds per query.

attributevectors

This element contains information related to memory structures for deep query refinement and sorting.

Attributes

Attribute Description

total-memory-usage

The total amount of memory that is allocated for deep query refinement and sorting of data structures for this index partition.

Remarks

The name of attribute vectors for sorting starts with the prefix "batv". The name of attribute vectors for deep query refinement starts with the prefix "bavn".

Examples

The following examples show a subset of the XML output when you run the command searchinfo -a status.

Example 1

Example 1 shows a subset of the XML output for a query matching server associated with index column 0 and search row 0.

<search-stats>
 <fdispatch>
   <version value="fs14.301"/>
   <hostname name="host1.site1.contoso.com"/>
   <searchhandler active-count="0" instantiate-count="0"/>
   <datasets>
    <dataset id="0" partitions="5" first-partition="0" max-active-nodes="5"
             active-nodes="5" max-active-partitions="5" active-partitions="5"
             unit-selection-cost="1" total-selection-cost="0" 
             up-time="168163.798" total-search-time="0.000" total-searches="0"
             avg-searches-per-sec="0.000" samples="0" timed-out="0">
     <engine socket="localhost:13056" state="up" type="search" partition="0"
             row="0" refcost="1" docstamp="1286267246" samples="0"/>
     ...
     <engine socket="localhost:13096" state="up" type="search" partition="4"
             row="0" refcost="1" docstamp="1286254268" samples="0"/>
    </dataset>
   </datasets>
   <filedesc-resource wait-queue-len="0" resource-usage="18" 
                      total-resource-count="1014"/>
 </fdispatch>
 <fsearch name="localhost:13056">
   <version value="fs14.9999"/>
   <search-statistics total-search-time="0.000" total-searches="0" 
                      up-time="0.000"/>
   ...
   <attributevectors total-memory-usage="48">
     <attributevector name="batvprocessingtime" type="int64" multi-value="no"
                      elements="0" memory-bytes="0"
basefile="D:\FASTSearch\data\data_index\0\index_1286267244861467000\index_data\merged\batvprocessingtime"
                      status="OK" custom="format=enum"/>
     ...
   </attributevectors>
   ...
 </fsearch>
 <fsearch name="localhost:13096">
   <version value="fs14.9999"/>
   <search-statistics total-search-time="0.000" total-searches="0" 
                      up-time="0.000"/>
   ...
   <attributevectors total-memory-usage="1077786037">
     <attributevector name="batvprocessingtime" type="int64" multi-value="no"
                      elements="5999523" memory-bytes="25799404"
basefile="D:\FASTSearch\data\data_index\4\index_1286242512297821000\index_data\merged\batvprocessingtime"
                      status="OK" custom="format=enum"/>
     ...
   </attributevectors>
   ...
 </fsearch>
 ...
</search-stats>

The XML output shows data for index partition 0 and 4. Index partition 0 is the partition that holds recently updated items.

Example 2

Example 2 shows a subset of the XML output for a query processing server. The status information that is shown is related to the query dispatcher component on this server. There are three index columns and one search row in this deployment. Each query matching server is represented as an engine entry in the XML.

<search-stats>
 <fdispatch>
   <version value="fs14.301"/>
   <hostname name="localhost"/>
   <searchhandler active-count="0" instantiate-count="0"/>
   <datasets>
    <dataset id="0" partitions="3" first-partition="0" max-active-nodes="15"
                    active-nodes="15" max-active-partitions="15" 
                    active-partitions="15" unit-selection-cost="1" 
                    total-selection-cost="0" up-time="169002.845" 
                    total-search-time="0.000" total-searches="0" 
                    avg-searches-per-sec="0.000" samples="0" timed-out="0">
     <engine socket="host1.site1.contoso.com:13052" state="up"
             type="dispatch" partition="0" row="0" refcost="11"
             docstamp="1287410432" samples="0"/>
     <engine socket="host2.site1.contoso.com:13052" state="up"
             type="dispatch" partition="1" row="0" refcost="11" 
             docstamp="1287410430" samples="0"/>
     <engine socket="host3.site1.contoso.com:13052" state="up"
             type="dispatch" partition="2" row="0" refcost="11"
             docstamp="1287410432" samples="0"/>
    </dataset>
   </datasets>
   ...
 </fdispatch>
 ...
</search-stats>

Note

partitions indicate the number of index columns as seen from this query dispatcher. active-partitions indicate the total number of active index partitions. There are five active partitions within three index columns in this example.

Example 3

Example 3 shows the query dispatcher view of one query matching server, represented as an engine element. Only one query was issued (samples=1), and you can see that the average query evaluation time is high, because of empty query cache.

<engine socket=" host21.site1.contoso.com:13052" 
        state="up" type="dispatch" partition="9" row="1" refcost="11" 
        docstamp="1276035428" avg-search-time="1.919" samples="1"/>

See Also

Reference

searchinfo.exe reference (FAST Search Server 2010 for SharePoint)

Concepts

Plan FAST Search Server farm topology (FAST Search Server 2010 for SharePoint)
Recommendations: Redundancy and availability (FAST Search Server 2010 for SharePoint)
deployment.xml reference