Products

Solutions

Resources

Partners

Community

About

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.


DNNCon 2014 Session: Customizing Your Search Results

Introduction

Learn how to create customized search results that leverage DNN's lucene index data. At last year's DNNCon, Ash Prasad presented a great session about the newly redesigned search engine in DNN 7.1 and above. He discussed the search architecture, lucene concepts, and the new ModuleSearchBase class for allowing developers to inject data into the index. This year, I want to take the next step of showing developers how to create custom search results that can query the lucene data in very specific ways to present the results exactly the way you, or your client, needs them.

Custom Search Results Module

The Custom Search Results module was built using the Module Creator and uses the Handlebars javascript template framework. Download the zip file (DotNetNuclear_HandlebarsCustomResults.zip) in the Related Files section on the Main Blog. Follow these instructions to install:

Instructions:

  1. Login as Host
  2. Create a page
  3. On the admin ribbon, select Modules > Create Module
  4. Drop an instance of the Module Creator module onto the page
  5. Enter the following settings:
    • Owner Name: DotNetNuclear
    • Module Name: CustomSearch
    • Language: C#
    • Template: Module - User Control
    • Control Name: View
  6. You should now have a working and registered module in the /DesktopModules/DotNetNuclear/CustomSearch folder. Replace the files in this folder with the ones in the DotNetNuclear_HandlebarsCustomResults.zip file.

Client-centric Module w/ Search

This module shows off several techniques: knockout/WebAPI front end, ModuleSearchBase implementation, and Lucene search. Follow the instructions to install:

  1. Download the DotNetNuclear.SearchContent.zip file from the Related Files section below
  2. Unzip the project folder (DotNetNuclear.SearchContent) under the \DesktopModules folder
  3. Open Visual Studio 2012 or 2013 as an Administrator and open the project
  4. Build project in Release mode
  5. Install the \install\*_Install package in Host > Extensions
  6. Create a test page and drop an instance of the module on the page

Prerequisite Training for this session

This is a more advanced topic in module development. Some topics like WebAPI services development, Knockoutjs, ModuleSearchBase, in addition to basic module development are assumed when reviewing this material. If you are not familiar with some of these topics, no problem! I have lots of training videos here and on DNNHero.com to get you up to speed.

Essential DNN Module Development
WebAPI Services and Knockoutjs
Other tutorials

Code Downloads

Go to the Main Blog to download the code.

Comments

There are currently no comments, be the first to post one.

Comment Form

Only registered users may post comments.

NewsArchives


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Daniels (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out