Provided by: chef_11.8.2-2_all bug

NAME

       knife-search - The man page for the knife search subcommand.

       Search  indexes  allow  queries  to be made for any type of data that is indexed by the server, including
       data bags (and data bag items), environments, nodes, and roles. A defined query syntax is used to support
       search patterns like exact, wildcard, range, and fuzzy. A search is a full-text query that  can  be  done
       from several locations, including from within a recipe, by using the search subcommand in Knife, by using
       the search functionality in the Management Console, or by using the /search or /search/INDEX endpoints in
       the Chef Server API. The search engine is based on Apache Solr and is run from the server.

       The knife search subcommand is used run a search query for information that is indexed on a server.

       Common Options

       The following options can be run with all Knife sub-commands and plug-ins:

       -c CONFIG, --config CONFIG
              The configuration file to use.

       --color
              Indicates that colored output will be used.

       -d, --disable-editing
              Indicates that $EDITOR will not be opened; data will be accepted as-is.

       --defaults
              Indicates that Knife will use the default value, instead of asking a user to provide one.

       -e EDITOR, --editor EDITOR
              The $EDITOR that is used for all interactive commands.

       -E ENVIRONMENT, --environment ENVIRONMENT
              The  name  of  the  environment. When this option is added to a command, the command will run only
              against the named environment.

       -f FILE_NAME, --file FILE_NAME
              Indicates that the private key will be saved to a specified file name.

       -F FORMAT, --format FORMAT
              The output format: summary (default), text, json, yaml, and pp.

       -h, --help
              Shows help for the command.

       -k KEY, --key KEY
              The private key that Knife will use to sign requests made by the API client to the server.

       --no-color
              Indicates that color will not be used in the output.

       -p PASSWORD, --password PASSWORD
              The user password.

       --print-after
              Indicates that data will be shown after a destructive operation.

       -s URL, --server-url URL
              The URL for the server.

       -u USER, --user USER
              The user name used by Knife to sign requests made by the API client to the server.  Authentication
              will fail if the user name does not match the private key.

       -v, --version
              The version of the chef-client.

       -V, --verbose
              Set for more verbose outputs. Use -VV for maximum verbosity.

       -y, --yes
              Indicates that the response to all confirmation prompts will be "Yes" (and that Knife will not ask
              for confirmation).

       Syntax

       This argument has the following syntax:

       $ knife search INDEX SEARCH_QUERY

       where  INDEX is one of client, environment, node, role, or the name of a data bag and SEARCH_QUERY is the
       search query syntax for the query that will be executed.

       INDEX is implied if omitted, and will default to node. For example:

       $ knife search '*:*' -i

       will return something similar to:

       8 items found

       centos-62-dev
       opensuse-1203
       ubuntu-1304-dev
       ubuntu-1304-orgtest
       ubuntu-1204-ohai-test
       ubuntu-1304-ifcfg-test
       ohai-test
       win2k8-dev

       and is the same search as:

       $ knife node search '*:*" -i

       If the SEARCH_QUERY does  not  contain  a  colon  character  (:),  then  the  default  query  pattern  is
       tags:*#{@query}*  OR  roles:*#{@query}*  OR  fqdn:*#{@query}*  OR  addresses:*#{@query}*, which means the
       following two search queries are effectively the same:

       $ knife search ubuntu

       or:

       $ knife search node "tags:*ubuntu* OR roles:*ubuntu* OR fqdn:*ubuntu* (etc.)"

       Options

       This sub-command has the following options:

       -a ATTR, --attribute ATTR
              The attribute (or attributes) to show.

       -b ROW, --start ROW
              The row at which return results will begin.

       -i, --id-only
              Indicates that only matching object IDs will be shown.

       INDEX  The name of the index to be queried: client, environment, node, role,  or  DATA_BAG_NAME.  Default
              index: node.

       -l, --long
              Display long output when searching nodes while using the default summary format.

       -m, --medium
              Display more, but not all, of a node's data when searching using the default summary format.

       -o SORT, --sort SORT
              The order in which search results will be sorted.

       -q SEARCH_QUERY, --query SEARCH_QUERY
              Use  to  protect  search  queries  that start with a hyphen (-). A -q query may be specified as an
              argument or an option, but not both.

       -r, --run-list
              Indicates that only the run-list will be shown.

       -R INT, --rows INT
              The number of rows to be returned.

       SEARCH_QUERY
              The search query used to identify a a list of items on a server. This option uses the same  syntax
              as the search sub-command.

       Examples

       To search for the IDs of all nodes running on the Amazon EC2 platform, enter:

       $ knife search node 'ec2:*' -i

       to return something like:

       4 items found

       ip-0A7CA19F.ec2.internal

       ip-0A58CF8E.ec2.internal

       ip-0A58E134.ec2.internal

       ip-0A7CFFD5.ec2.internal

       To search for the instance type (flavor) of all nodes running on the Amazon EC2 platform, enter:

       $ knife search node 'ec2:*' -a ec2.instance_type

       to return something like:

       4 items found

       ec2.instance_type:  m1.large
       id:                 ip-0A7CA19F.ec2.internal

       ec2.instance_type:  m1.large
       id:                 ip-0A58CF8E.ec2.internal

       ec2.instance_type:  m1.large
       id:                 ip-0A58E134.ec2.internal

       ec2.instance_type:  m1.large
       id:                 ip-0A7CFFD5.ec2.internal

       To search for all nodes running Ubuntu, enter:

       $ knife search node 'platform:ubuntu'

       To search for all nodes running CentOS in the production environment, enter:

       $ knife search node 'chef_environment:production AND platform:centos'

       To find a nested attribute, use a pattern similar to the following:

       $ knife search node <query_to_run> -a <main_attribute>.<nested_attribute>

       To  build  a  search  query  to  use  more  than  one attribute, use an underscore ( _ ) to separate each
       attribute. For example, the following query will search for all nodes running a specific version of Ruby:

       $ knife search node "languages_ruby_version:1.9.3"

       To build a search query that can find a nested attribute:

       $ knife search node name:<node_name> -a kernel.machine

       To test a search query that will be used in a knife ssh command:

       $ knife search node "role:web AND NOT name:web03"

       where the query in the previous example will search all servers that have the web role, but  not  on  the
       server named web03.

AUTHOR

       Opscode

                                                   Chef 11.8.0                                   KNIFE-SEARCH(1)