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.
|
state |
Shows the state of the fsearch or fdispatch process associated with this engine element.
|
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