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
scorch
top 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 ?