{"id":7450,"date":"2019-10-23T17:56:54","date_gmt":"2019-10-23T12:26:54","guid":{"rendered":"https:\/\/www.argildx.us\/?p=7450"},"modified":"2019-12-12T17:03:05","modified_gmt":"2019-12-12T11:33:05","slug":"fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint","status":"publish","type":"post","link":"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/","title":{"rendered":"Full-Text Search in AEM Pages and Assets including PDF, Excel and PowerPoint"},"content":{"rendered":"\n

Search is an important feature of any website. Implementing an efficient search on your website can considerably improve the experience of your visitors. For websites on AEM, creating a custom search component without creating any new indexes has been a challenge.  <\/p>\n\n\n\n

We took up the challenge<\/strong> <\/h6>\n\n\n\n

We created Full-Text Search – a custom search component to help end users search through all your web pages and published assets. This includes searching through PDFs, Excel files, PowerPoint presentations, asset metadata and SEO tags. This is a generic search component which can be used to search within any content and DAM hierarchy.<\/p>\n\n\n\n

As compared to the OOTB search component of AEM, the custom search component does a full sentence search instead of individual words of sentences. For asset search it can even provide the page number in which the text is present. <\/p>\n\n\n\n

The objective behind creating a custom search component<\/strong><\/h6>\n\n\n\n

To create a search component in AEM to enable users to search any word, number or sentence. Even special characters in AEM website pages as well as DAM assets (PDFs, Excel files, PowerPoint presentations).  <\/p>\n\n\n\n

The approach taken to create our AEM Search component<\/strong>  <\/h6>\n\n\n\n

We used Omnisearch API with QueryBuilder, which in turn uses Lucene indexes to perform effective and efficient searching.  <\/p>\n\n\n\n

Prerequisites for creating Full-Text Search<\/strong> in AEM<\/strong><\/h6>\n\n\n\n

For efficient searching, please validate your AEM instance has the following nodes. <\/p>\n\n\n\n

  1. \/oak:index\/lucene<\/li>
  2. \/oak:index\/cmLucene<\/li>
  3. \/oak:index\/damAssetLucene<\/li>
  4. \/oak:index\/nodetype<\/li>
  5. \/oak:index\/cqPageLucene<\/li><\/ol>\n\n\n\n
    How to implement our Full-Text Search component in your AEM instance?<\/strong><\/h6>\n\n\n\n
    1. Create a component with search directory as dialog and text fields along with submit button on display layer.

      The component dialog will look like this  <\/li><\/ol>\n\n\n\n
      \"component<\/figure><\/div>\n\n\n\n

      The basic UI will look like this but you can customize it the way you want.<\/p>\n\n\n\n

      \"basic<\/figure><\/div>\n\n\n\n

      2. Add AJAX call on submit button click which sends search string and search location. <\/p>\n\n\n\n

      \"\"<\/figure><\/div>\n\n\n\n

      3. Create a servlet which gets the search parameters: <\/p>\n\n\n\n

      1. Search string<\/li>
      2. Search location <\/li><\/ol>\n\n\n\n
        \"\"<\/figure><\/div>\n\n\n\n

        4. Create a query using ‘QueryBuilder\u2019 to perform the search. <\/p>\n\n\n\n

        \"\"<\/figure><\/div>\n\n\n\n
        \"\"<\/figure><\/div>\n\n\n\n

        5. Parse the result in required format.<\/p>\n\n\n\n

        \"\"<\/figure><\/div>\n\n\n\n

        6. Send the response in JSON.  <\/p>\n\n\n\n

        \"\"<\/figure><\/div>\n\n\n\n

        7. Parse the result on screen.  <\/p>\n\n\n\n

        Advantages of our Custom Search Component<\/strong><\/h6>\n\n\n\n

        Through Full-Text Search, you can improve the user journey on your AEM website as users can find the specific item they\u2019re looking for. Additionally, this custom search component will help you in site personalization as you can implement a user-permission based search. You can even integrate analytics with this search to understand your users\u2019 demands at a more granular level.<\/p>\n\n\n\n

        Check out other articles in our blog<\/a> to learn about the different tools and features that we’ve created around and for different Adobe Experience Cloud solutions.<\/p>\n","protected":false},"excerpt":{"rendered":"

        Search is an important feature of any website. Implementing an efficient search on your website can considerably improve the experience of your visitors. For websites on AEM, creating a custom search component without creating any new indexes has been a challenge.  We took up the challenge  We created Full-Text Search – a custom search component to help end users search … Read more<\/a><\/p>\n","protected":false},"author":9,"featured_media":7462,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[66],"tags":[25,1539,171,1606,1543,1541],"yst_prominent_words":[],"acf":[],"yoast_head":"\nFull-Text Search in AEM: Custom Search Component for Pages and Assets<\/title>\n<meta name=\"description\" content=\"Full-Text Search in AEM is a custom search component to help end users search pages and assets in AEM websites including pdfs, excel and powerpoint files.\" \/>\n<meta name=\"robots\" content=\"index, follow\" \/>\n<meta name=\"googlebot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta name=\"bingbot\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Full-Text Search in AEM: Custom Search Component for Pages and Assets\" \/>\n<meta property=\"og:description\" content=\"Full-Text Search in AEM is a custom search component to help end users search pages and assets in AEM websites including pdfs, excel and powerpoint files.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/\" \/>\n<meta property=\"og:site_name\" content=\"Argil DX\" \/>\n<meta property=\"article:published_time\" content=\"2019-10-23T12:26:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-12T11:33:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.argildx.us\/wp-content\/uploads\/2019\/10\/Optimized-ft-feat.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1440\" \/>\n\t<meta property=\"og:image:height\" content=\"542\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.argildx.us\/#website\",\"url\":\"https:\/\/www.argildx.us\/\",\"name\":\"Argil DX\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.argildx.us\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.argildx.us\/wp-content\/uploads\/2019\/10\/Optimized-ft-feat.jpg\",\"width\":1440,\"height\":542,\"caption\":\"people searching through boxes of vinyl records in a line\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/#webpage\",\"url\":\"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/\",\"name\":\"Full-Text Search in AEM: Custom Search Component for Pages and Assets\",\"isPartOf\":{\"@id\":\"https:\/\/www.argildx.us\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/#primaryimage\"},\"datePublished\":\"2019-10-23T12:26:54+00:00\",\"dateModified\":\"2019-12-12T11:33:05+00:00\",\"author\":{\"@id\":\"https:\/\/www.argildx.us\/#\/schema\/person\/7583783869e92b1d4ccd40dbb2aef076\"},\"description\":\"Full-Text Search in AEM is a custom search component to help end users search pages and assets in AEM websites including pdfs, excel and powerpoint files.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.argildx.us\/technology\/fulltext-search-in-aem-pages-assets-custom-search-pdf-excel-and-powerpoint\/\"]}]},{\"@type\":[\"Person\"],\"@id\":\"https:\/\/www.argildx.us\/#\/schema\/person\/7583783869e92b1d4ccd40dbb2aef076\",\"name\":\"Arpit Rathi\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.argildx.us\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/20e56987516b8528ddbcb4f9fa8aabe6?s=96&d=mm&r=g\",\"caption\":\"Arpit Rathi\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","_links":{"self":[{"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/posts\/7450"}],"collection":[{"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/comments?post=7450"}],"version-history":[{"count":0,"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/posts\/7450\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/media\/7462"}],"wp:attachment":[{"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/media?parent=7450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/categories?post=7450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/tags?post=7450"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/www.argildx.us\/wp-json\/wp\/v2\/yst_prominent_words?post=7450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}