Set the Type Identifier for a Search Index

  • how-to
    +
    Use a type identifier with a type mapping to add an extra filter to the documents you want to include in a Search index.

    For more information about type identifiers and type mappings, see Customize a Search Index with the Web Console.

    Prerequisites

    • You have the Search Service enabled on a node in your database. For more information about how to deploy a new node and Services on your database, see Manage Nodes and Clusters.

    • You have a bucket with scopes and collections in your database. For more information about how to create a bucket, see Create a Bucket.

    • You have created an index. For more information, see Create a Basic Search Index with the Web Console.

    • You have created at least one type mapping in your Search index. For more information, see Create a Type Mapping.

    • Your user account has the Search Admin role for the bucket where you want to edit an index.

    • You have logged in to the Couchbase Server Web Console.

    Procedure

    To set a type identifier for a Search index with the Couchbase Server Web Console:

    1. Go to Search.

    2. Click the index where you want to set a type identifier.

    3. Click Edit.

    4. Do one of the following:

    Create a JSON Type Field Type Identifier

    To only add documents to your Search index that contain a specific field with a specified string value:

    1. Select JSON type field.

    2. In the JSON Type Field field, enter the name of the field in your documents that you want to use to filter documents in your Search index.

      For example, if your documents include a type field, you could enter type in the JSON Type Field field.

      You can’t use a field as a type identifier if the field name contains a period (.).
    3. Under Type Mappings, next to the type mapping where you want to add the type identifier, click Edit.

    4. In the # field, add a period (.) to the end of the current type mapping name.

    5. After the period, add the exact string from the document field that you want to use as a filter.

      For example, if you wanted your Search index to only return documents that had a type value of hotel, you could enter scope.collection.hotel in the type mapping # field.

    6. Click OK.

    7. Click Update Index.

    Create a Doc ID Up To Separator Type Identifier

    To only add documents to your Search index that have IDs that match a specified prefix:

    1. Select Doc ID up to Separator.

    2. In the Doc ID up to Separator field, enter the ID prefix, up to the separator character, that you want to use to filter documents in your Search index.

      For example, if you know all of your document ID values are prefixed by a string and an underscore (_), enter _.

    3. Under Type Mappings, next to the type mapping where you want to add the type identifier, click Edit.

    4. In the # field, add a period (.) to the end of the current type mapping name.

    5. After the period, add the exact prefix from the document’s ID value that you want to use as a filter.

      For example, if you wanted your Search index to only return documents that have an prefix of landmark_, you could enter scope.collection.landmark in the type mapping # field.

    6. Click OK.

    7. Click Update Index.

    Create a Doc ID with Regex Type Identifier

    To only add documents to your Search index that have IDs that match a specified RE2 regular expression:

    1. Select Doc ID with Regex.

    2. In the Doc ID with Regex field, enter the regular expression that you want to use to filter documents in your Search index.

      For example, if you wanted only documents with ID values that contained _40, you could enter _[3-5]0 as your regular expression.

    3. Under Type Mappings, next to the type mapping where you want to add the type identifier, click Edit.

    4. In the # field, add a period (.) to the end of the current type mapping name.

    5. After the period, add a match for the regular expression from the document’s ID value that you want to use as a filter.

      For example, if you wanted your Search index to only return documents with ID values that contained _40, you could enter scope.collection._40 in the type mapping # field.

    6. Click OK.

    7. Click Update Index.