cbft-bleve for Scorch Indexes
The cbft-bleve tool supports commands that return information on Scorch index partitions.
Using cbft-bleve on Scorch indexes.
The cbft-bleve tool can be used to retrieve information on a Scorch index partition in either of the following ways:
-
By means of the subset of top level command-values that can also be used on Moss index partitions.
-
Specifically by means of the
scorchtop level command-value, which entails additional syntax, and can be used on Scorch index partitions only.
These options are described below. Examples are for MacOS.
Using Top Level Command-Values
The top-level Syntax for cbft-bleve permits the following to be specified as values for the principal command, and to be used alike on Moss index partitions (on all Couchbase-Server supported platforms) and on Scorch index partitions (on all platforms except CentOS and Ubuntu): check, count, dictionary, fields, mapping, query, and registry.
For a description of the syntax entailed by each value, and instances of command-output, see the examples provided for Moss index partitions, in cbft-bleve for Moss Indexes.
Using the scorch Command-Value
The scorch command-value specifies that the target index-partition is a Scorch index.
The basic syntax is as follows:
cbft-bleve scorch [command] [index-store-path] [snapshot] [flags]
The available commands are listed in the sections below.
A command must be specified.
Note that a command summary can be printed to standard output, by entering cbft-bleve scorch --help (or -h).
The index-store-path, which is mandatory, is the filesystem path of the store subdirectory, located under the directory for the Scorch index partition.
See Specifying Index Partitions.
The snapshot is a reference to a particular snapshot, within a Scorch-index partition, on which information is to be retrieved.
See immediately below.
The flags argument can always be --help, which prints help text to standard output.
Additional values are indicated as appropriate, below.
Understanding Snapshots
Each Scorch index contains a number of snapshots, each of which represents the state of all indexed data at a particular point in time: this supports high-performance rollbacks of the index.
By default, three snapshots are simultaneously available: each is referred to by a unique integer known as the snapshot epoch.
To change the number of available snapshots, include the numSnapshotsToKeep key to the store object within the index-definition, specifying an appropriate integer as the value.
For example, the following establishes 4 snapshots to be made simultaneously available:
"store": {
"kvStoreName": "scorchStore",
"indexType": "scorch",
"numSnapshotsToKeep": 4
}
For more information, see Index-Creation with the REST API.
Some commands used by cbft-bleve scorch refer to and return information on a specific snapshot epoch.
Information on currently available snapshot epochs and their unique identifying integers is returned by means of the snapshot command.
snapshot
The snapshot command prints a list of snapshot epochs that currently exist for a specified Scorch index partition.
The syntax is as follows:
cbft-bleve scorch snapshot [index-store-path] [flags]
Example: Print Snapshot Epochs
The following example prints the snapshot epochs for the specified index partition:
/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin\ /cbft-bleve scorch snapshot \ /Users/<username>/Library/Application\ Support/Couchbase\ /var/lib/couchbase/data/@fts/scorchIndex_fdcb47f176931043_13aa53f3.pindex/store/
If successful, the command prints the following:
snapshot epoch: 37 snapshot epoch: 36 snapshot epoch: 1
ascii
The ascii command prints an ascii representation of the segments in a snapshot.
Each segment is a batch of items from the snapshot.
The syntax is as follows:
cbft-bleve scorch ascii [index-store-path] [snapshot]
The snapshot argument, which is required, must be the unique integer associated with a snapshot epoch for the specified index, as returned by the snapshot command.
Example: Print an ASCII Representation
The following example prints an ascii representation of the segments in the snapshot specified for an index partition.
/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin\ /cbft-bleve scorch ascii \ /Users/<username>/Library/Application\ Support/Couchbase\ /var/lib/couchbase/data/@fts/scorchIndex_fdcb47f176931043_13aa53f3.pindex/store/ \ 37
If successful, the command returns the following:
37 37: 5433 / 5433 - .........................
deleted
The deleted command prints a bitmap that represents items that have been deleted from each segment of a specified snapshot, during the course of the segment’s existence.
The syntax is as follows:
cbft-bleve scorch deleted [index-store-path] [snapshot] [flags]
The snapshot argument, which is required, must be the unique integer associated with a snapshot epoch for the specified index partition, as returned by the snapshot command.
Example: Print the Deleted Bitmap
The following example prints the bitmap of deleted items for the segments in snapshot 67:
/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin\ /cbft-bleve scorch deleted \ /Users/<username>/Library/Application\ Support/Couchbase\ /var/lib/couchbase/data/@fts/scorchIndex_fdcb47f176931043_13aa53f3.pindex/store/ \ 67
If successful, the command returns a list that contains deleted items, if any exist:
0 <nil> 1 <nil> 2 <nil>
info
The info command prints information on a specified index partition.
The syntax is as follows:
cbft-bleve scorch info [index-store-path] [flags]
Example: Print Info on an Index Partition
The following example prints information on the specified Scorch index partition.
/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin\ /cbft-bleve scorch info \ /Users/<username>/Library/Application\ Support/Couchbase/var/lib/couchbase/data/@fts\ /scorchIndex_fdcb47f176931043_13aa53f3.pindex/store/
If successful, the command returns the following:
doc count: 5433
internal
The internal command prints the internal kv pairs within a snapshot —
these constitute meta data for the snapshot.
The syntax is as follows:
cbft-bleve scorch internal [index-store-path] [snapshot] [flags]
The snapshot, which is mandatory, must be the unique integer associated with a snapshot epoch for the specified index, as returned by the snapshot command.
The flags argument can be -a or --ascii; which indicates that the values are to be printed in ascii.
Example: Print KV Pairs
The following example provides an ascii print-out of the kv pairs for the specified index-snapshot:
/Applications/Couchbase\ Server.app/Contents/Resources/couchbase-core/bin/\ cbft-bleve scorch internal \ /Users/<username>/Library/Application\ Support/Couchbase/var/lib/couchbase/data/@fts\ /scorchIndex_fdcb47f176931043_13aa53f3.pindex/store/ 37 -a
If successful, the command provides the following output:
42 ?
43 ?
_mapping {"types":{"product":{"enabled":true,"dynamic":true,"properties":{"price":{"enabled":true,"dynamic":false,"fields":[{"name":"price","type":"number","index":true,"include_term_vectors":true,"include_in_all":true}]}}}},"default_mapping":{"enabled":false,"dynamic":true},"type_field":"_type","default_type":"_default","default_analyzer":"standard","default_datetime_parser":"dateTimeOptional","default_field":"_all","store_dynamic":false,"index_dynamic":true,"docvalues_dynamic":true,"analysis":{}}
o:39 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":501,"failOverLog":[[149680438380220,0]]}
36 ?
41 ?
38 ?
o:33 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":484,"failOverLog":[[81822404584738,0]]}
o:36 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":492,"failOverLog":[[174103028649261,0]]}
o:37 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":486,"failOverLog":[[110924524680780,0]]}
o:41 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":497,"failOverLog":[[155103402616817,0]]}
o:43 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":507,"failOverLog":[[217538306806458,0]]}
33 ?
37 ?
o:42 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":492,"failOverLog":[[47136605887494,0]]}
34 ?
o:35 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":485,"failOverLog":[[181174121062964,0]]}
40 ?
o:34 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":499,"failOverLog":[[128188523546156,0]]}
o:38 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":486,"failOverLog":[[161601347095991,0]]}
o:40 {"seqStart":0,"seqEnd":0,"snapStart":0,"snapEnd":504,"failOverLog":[[38787600199365,0]]}
35 ?
39 ?