{"id":5967,"date":"2018-11-19T01:07:37","date_gmt":"2018-11-19T09:07:37","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5967"},"modified":"2023-10-20T10:17:51","modified_gmt":"2023-10-20T17:17:51","slug":"full-text-search-indexing-best-practices","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/","title":{"rendered":"Full-Text Search Indexing Best Practices &amp; Tips &#8211; Part 1"},"content":{"rendered":"<h3><b>Full-Text Search &#8211; <\/b><b>Indexing Tips <\/b><\/h3>\n<p><span style=\"font-weight: 400\">Understanding the Full-Text Search (FTS) indexing options are essential for building the <a href=\"https:\/\/www.couchbase.com\/blog\/create-right-index-get-right-performance\/\">right index<\/a> for the job at hand. The <\/span><i><span style=\"font-weight: 400\">right index<\/span><\/i><span style=\"font-weight: 400\"> here refers to a lean and rich enough inverted index that can serve those various types of customer search requests.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Some <a href=\"https:\/\/www.couchbase.com\/blog\/database-indexing-best-practices\/\">indexing best practices<\/a> to keep in mind while creating an FTS index include the following.<\/span><\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>\n<h4><b> \u00a0Avoid <\/b><b><i>default<\/i><\/b><b> type mapping at production<\/b><\/h4>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">When a user creates an FTS index from the Couchbase web console, the pre-defined type mapping option chosen for an index is <\/span><i><span style=\"font-weight: 400\">default<\/span><\/i><span style=\"font-weight: 400\">. This is a special type of mapping applie<\/span><span style=\"font-weight: 400\">d to each document whose type <\/span><i><span style=\"font-weight: 400\">either<\/span><\/i><span style=\"font-weight: 400\"> does not match a user-specified type mapping <\/span><i><span style=\"font-weight: 400\">or<\/span><\/i><span style=\"font-weight: 400\"> has no recognized type attribute.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Therefore, if the default mapping is left enabled, all documents with all fields are included in the index. This will occur regardless of whether the user actively specifies type mappings or not. <\/span><\/p>\n<p><span style=\"font-weight: 400\">The <\/span><i><span style=\"font-weight: 400\">default<\/span><\/i><span style=\"font-weight: 400\"> dynamic mapping produces larger indexes and is potentially unsuitable for production deployments.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Disable the default type mapping, as shown below, to ensure that only user-specified type mappings are included in the index.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5968 size-medium_large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/11\/fts-type-mappings-ui-addition-default-unchecked-768x168.png\" alt=\"default type mapping disabled - Full Text Search Indexing Best Practices \" width=\"768\" height=\"168\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-ui-addition-default-unchecked-768x168.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-ui-addition-default-unchecked-300x66.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-ui-addition-default-unchecked-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-ui-addition-default-unchecked.png 972w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/p>\n<p>&nbsp;<\/p>\n<ol start=\"2\">\n<li>\n<h4><b> \u00a0Specify the right <\/b><b><i>type<\/i><\/b><b> mappings<\/b><\/h4>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Identify the fields on which you need to make the documents searchable and define a custom type mapping mentioning the fields to be indexed. You may identify and index only a subset of your document types by specifying a single \/ set of type mappings you are interested in.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5971 size-medium_large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/11\/fts-type-mappings-child-mapping-dialog-complete-768x214.png\" alt=\"user defined custom type mapping example - Full Text Search Indexing Best Practices \" width=\"768\" height=\"214\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-dialog-complete-768x214.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-dialog-complete-300x84.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-dialog-complete-1024x286.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-dialog-complete-20x6.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-dialog-complete.png 1311w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/p>\n<p><span style=\"font-weight: 400\">Further read: <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/6.0\/fts\/fts-creating-indexes.html#specifying-type-identifiers\"><span style=\"font-weight: 400\">https:\/\/docs.couchbase.com\/server\/6.0\/fts\/fts-creating-indexes.html#specifying-type-identifiers<\/span><\/a><\/p>\n<p>&nbsp;<\/p>\n<ol start=\"3\">\n<li>\n<h4><b> Choose the optimum field <\/b><b><i>indexing options<\/i><\/b><\/h4>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">While specifying a field for indexing, there are few important indexing options to reckon with.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5972 size-medium_large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/11\/fts-type-mappings-child-mapping-add-field-768x328.png\" alt=\"field indexing options screenshot - Full Text Search Indexing Best Practices \" width=\"768\" height=\"328\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-add-field-768x328.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-add-field-300x128.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-add-field-1024x437.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-add-field-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/11\/fts-type-mappings-child-mapping-add-field.png 1308w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>index<\/b><span style=\"font-weight: 400\">: When checked, the field is indexed; when unchecked, the field is not indexed. This may be used, therefore, to explicitly remove an already-defined field from the index.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>store<\/b><span style=\"font-weight: 400\">: When checked, the field-content is included in the set of values returned from a search; when unchecked, the field-content is not so included. Note that inclusion of field-content specifically permits <\/span><i><span style=\"font-weight: 400\">highlighting<\/span><\/i><span style=\"font-weight: 400\"> of results, so that matched expressions can be easily seen. However, it also results in larger indexes and longer processing-times. So please disable this option, if you are not interested in features like highlighting on the search results.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>include in _<\/b><b><i>all field<\/i><\/b><i><span style=\"font-weight: 400\">: When checked, the field is included in the definition of _all, which is the field specified by default in the Advanced panel. When unchecked, the field is not so included. Inclusion means that when _query strings<\/span><\/i><span style=\"font-weight: 400\"> are used to specify searches, the text in the current field is searchable without the field-name requiring a prefix (thus, a search on <\/span><span style=\"font-weight: 400\">description:modern<\/span><span style=\"font-weight: 400\"> can be accomplished simply by specifying <\/span><span style=\"font-weight: 400\">modern<\/span><span style=\"font-weight: 400\">).\u00a0<\/span>Enabling this option results in larger indexes, so disable this option if you want to use <i>field scoped<\/i> search requests.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>include term vectors<\/b><span style=\"font-weight: 400\">: When checked, term vectors are included. When unchecked, term vectors are not included. Term vectors are the locations of terms in a particular field. Certain kinds of functionality (such as highlighting, and phrase search) require term vectors. The inclusion of term vectors results in larger indexes and correspondingly slower index build-times. Hence please disable this option, if you are not interested in phrase searches or highlighting on search results. <\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ol start=\"4\">\n<li>\n<h4><b> \u00a0Caution with numeric fields. \u00a0<\/b><\/h4>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">Often, documents will have all sorts of ID fields and users tend to index them as <\/span><i><span style=\"font-weight: 400\">number<\/span><\/i><span style=\"font-weight: 400\"> types.<\/span><span style=\"font-weight: 400\"> But indexing as a <\/span><i><span style=\"font-weight: 400\">number<\/span><\/i><span style=\"font-weight: 400\"> is only recommended when you have a real numeric use case, like range searches, <\/span><\/p>\n<p><span style=\"font-weight: 400\">eg: \u201csearch for all the product docs that are about \u2018iphone\u2019 and whose price &lt; 1000\u201d. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Many use cases usually don\u2019t have range searches on such ID fields but only do exact keyword equality searches on ID fields, Hence it is recommended to use <\/span><i><span style=\"font-weight: 400\">text<\/span><\/i><span style=\"font-weight: 400\"> type and <\/span><i><span style=\"font-weight: 400\">keyword*<\/span><\/i><span style=\"font-weight: 400\"> analyzer instead of <\/span><i><span style=\"font-weight: 400\">number<\/span><\/i><span style=\"font-weight: 400\"> for these kinds of ID field situations.<\/span><\/p>\n<p><span style=\"font-weight: 400\">As of now, FTS internally stores numbers in a lesser space-optimized format and the above approach can help you reduce the index size further.\u00a0 <\/span><span style=\"font-weight: 400\">And smaller indexes are ought to result in better RAM occupancy.<\/span><\/p>\n<p>We are adding more configurability to the <a href=\"https:\/\/docs.couchbase.com\/server\/current\/n1ql\/n1ql-language-reference\/createindex.html\">index creation<\/a> process, allowing further fine-tuning at the storage level.<\/p>\n<h4><\/h4>\n<h4>\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0\u00a0 \u00a0 <a href=\"https:\/\/www.couchbase.com\/blog\/few-index-management-tips-fts-best-practices-part-ii\/\">Part 2&#8230;<\/a><\/h4>\n<h4><\/h4>\n<p><span style=\"font-weight: 400\">keyword* analyzer &#8211; Creates a single token representing the entire input, and skips any text stemming or curation downstream. <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Full-Text Search &#8211; Indexing Tips Understanding the Full-Text Search (FTS) indexing options are essential for building the right index for the job at hand. The right index here refers to a lean and rich enough inverted index that can serve [&hellip;]<\/p>\n","protected":false},"author":26446,"featured_media":5582,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,2165],"tags":[],"ppma_author":[9075],"class_list":["post-5967","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-full-text-search"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Full-Text Search Indexing Best Practices &amp; Tips - Part 1<\/title>\n<meta name=\"description\" content=\"Learn about best practices of Full-Text Search (FTS) indexing options and tuning to build the right index for the job at hand.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Full-Text Search Indexing Best Practices &amp; Tips - Part 1\" \/>\n<meta property=\"og:description\" content=\"Learn about best practices of Full-Text Search (FTS) indexing options and tuning to build the right index for the job at hand.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-19T09:07:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-20T17:17:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/search-2041815_1920.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1279\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sreekanth Sivasankaran\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sreekanth Sivasankaran\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/\"},\"author\":{\"name\":\"Sreekanth Sivasankaran\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a\"},\"headline\":\"Full-Text Search Indexing Best Practices &amp; Tips &#8211; Part 1\",\"datePublished\":\"2018-11-19T09:07:37+00:00\",\"dateModified\":\"2023-10-20T17:17:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/\"},\"wordCount\":721,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg\",\"articleSection\":[\"Couchbase Server\",\"Full-Text Search\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/\",\"name\":\"Full-Text Search Indexing Best Practices &amp; Tips - Part 1\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg\",\"datePublished\":\"2018-11-19T09:07:37+00:00\",\"dateModified\":\"2023-10-20T17:17:51+00:00\",\"description\":\"Learn about best practices of Full-Text Search (FTS) indexing options and tuning to build the right index for the job at hand.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg\",\"width\":1920,\"height\":1279},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Full-Text Search Indexing Best Practices &amp; Tips &#8211; Part 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a\",\"name\":\"Sreekanth Sivasankaran\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a60af16118050d1ea3a927388dc4dfb7\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g\",\"caption\":\"Sreekanth Sivasankaran\"},\"description\":\"Sreekanth Sivasankaran is a Principal Engineer\/Senior Engineering manager at Couchbase R&amp;D. He leads the design and development of distributed and highly performant Search functionality. And he has over 17 years of product development experience in various domains like telecom, handsets, enterprise software, big data technologies, and distributed systems.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/sreekanth-sivasankaran\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Full-Text Search Indexing Best Practices &amp; Tips - Part 1","description":"Learn about best practices of Full-Text Search (FTS) indexing options and tuning to build the right index for the job at hand.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/","og_locale":"en_US","og_type":"article","og_title":"Full-Text Search Indexing Best Practices &amp; Tips - Part 1","og_description":"Learn about best practices of Full-Text Search (FTS) indexing options and tuning to build the right index for the job at hand.","og_url":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-11-19T09:07:37+00:00","article_modified_time":"2023-10-20T17:17:51+00:00","og_image":[{"width":1920,"height":1279,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/08\/search-2041815_1920.jpg","type":"image\/jpeg"}],"author":"Sreekanth Sivasankaran","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sreekanth Sivasankaran","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/"},"author":{"name":"Sreekanth Sivasankaran","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a"},"headline":"Full-Text Search Indexing Best Practices &amp; Tips &#8211; Part 1","datePublished":"2018-11-19T09:07:37+00:00","dateModified":"2023-10-20T17:17:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/"},"wordCount":721,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg","articleSection":["Couchbase Server","Full-Text Search"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/","url":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/","name":"Full-Text Search Indexing Best Practices &amp; Tips - Part 1","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg","datePublished":"2018-11-19T09:07:37+00:00","dateModified":"2023-10-20T17:17:51+00:00","description":"Learn about best practices of Full-Text Search (FTS) indexing options and tuning to build the right index for the job at hand.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/08\/search-2041815_1920.jpg","width":1920,"height":1279},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/full-text-search-indexing-best-practices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Full-Text Search Indexing Best Practices &amp; Tips &#8211; Part 1"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7bbda3cf57beae8bd9cba686c0c6fe7a","name":"Sreekanth Sivasankaran","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a60af16118050d1ea3a927388dc4dfb7","url":"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g","caption":"Sreekanth Sivasankaran"},"description":"Sreekanth Sivasankaran is a Principal Engineer\/Senior Engineering manager at Couchbase R&amp;D. He leads the design and development of distributed and highly performant Search functionality. And he has over 17 years of product development experience in various domains like telecom, handsets, enterprise software, big data technologies, and distributed systems.","url":"https:\/\/www.couchbase.com\/blog\/author\/sreekanth-sivasankaran\/"}]}},"authors":[{"term_id":9075,"user_id":26446,"is_guest":0,"slug":"sreekanth-sivasankaran","display_name":"Sreekanth Sivasankaran","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/01af11c4c81e84e518ab465b39b7a5b3c874de79270af74043cc3d4edb92ff4e?s=96&d=mm&r=g","author_category":"","last_name":"Sivasankaran","first_name":"Sreekanth","job_title":"","user_url":"","description":"Sreekanth Sivasankaran is a Principal Engineer\/Senior Engineering Manager at Couchbase R&amp;D. He leads the design and development of distributed and highly performant Search functionality. And he has over 17 years of product development experience in various domains like telecom, handsets, enterprise software, big data technologies, and distributed systems."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/5967","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/26446"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=5967"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/5967\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/5582"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=5967"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=5967"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=5967"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=5967"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}