github.com/rpdict/ponzu@v0.10.1-0.20190226054626-477f29d6bf5e/docs/build/Interfaces/Search/index.html (about)

     1  
     2  <!DOCTYPE html>
     3  <html lang="en" class="no-js">
     4    <head>
     5      
     6        <meta charset="utf-8">
     7        <meta name="viewport" content="width=device-width,initial-scale=1">
     8        
     9        
    10        
    11        
    12          <link rel="shortcut icon" href="../../assets/images/favicon.png">
    13        
    14        <meta name="generator" content="mkdocs-0.16.3, mkdocs-material-1.6.1">
    15      
    16      
    17        
    18          <title>Search Package Interfaces</title>
    19        
    20      
    21      
    22        <script src="../../assets/javascripts/modernizr-56ade86843.js"></script>
    23      
    24      
    25        <link rel="stylesheet" href="../../assets/stylesheets/application-4d0d3f2fbf.css">
    26        
    27          <link rel="stylesheet" href="../../assets/stylesheets/application-f78e5cb881.palette.css">
    28        
    29      
    30      
    31        
    32          
    33          
    34          
    35          <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono">
    36          <style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style>
    37        
    38        <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
    39      
    40      
    41      
    42    </head>
    43    
    44    
    45    
    46    
    47      <body data-md-color-primary="grey" data-md-color-accent="light-blue">
    48    
    49      <svg class="md-svg">
    50        <defs>
    51          
    52          
    53            <svg xmlns="http://www.w3.org/2000/svg" width="416" height="448" viewBox="0 0 416 448" id="github"><path fill="currentColor" d="M160 304q0 10-3.125 20.5t-10.75 19T128 352t-18.125-8.5-10.75-19T96 304t3.125-20.5 10.75-19T128 256t18.125 8.5 10.75 19T160 304zm160 0q0 10-3.125 20.5t-10.75 19T288 352t-18.125-8.5-10.75-19T256 304t3.125-20.5 10.75-19T288 256t18.125 8.5 10.75 19T320 304zm40 0q0-30-17.25-51T296 232q-10.25 0-48.75 5.25Q229.5 240 208 240t-39.25-2.75Q130.75 232 120 232q-29.5 0-46.75 21T56 304q0 22 8 38.375t20.25 25.75 30.5 15 35 7.375 37.25 1.75h42q20.5 0 37.25-1.75t35-7.375 30.5-15 20.25-25.75T360 304zm56-44q0 51.75-15.25 82.75-9.5 19.25-26.375 33.25t-35.25 21.5-42.5 11.875-42.875 5.5T212 416q-19.5 0-35.5-.75t-36.875-3.125-38.125-7.5-34.25-12.875T37 371.5t-21.5-28.75Q0 312 0 260q0-59.25 34-99-6.75-20.5-6.75-42.5 0-29 12.75-54.5 27 0 47.5 9.875t47.25 30.875Q171.5 96 212 96q37 0 70 8 26.25-20.5 46.75-30.25T376 64q12.75 25.5 12.75 54.5 0 21.75-6.75 42 34 40 34 99.5z"/></svg>
    54          
    55        </defs>
    56      </svg>
    57      <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="drawer">
    58      <input class="md-toggle" data-md-toggle="search" type="checkbox" id="search">
    59      <label class="md-overlay" data-md-component="overlay" for="drawer"></label>
    60      
    61        <header class="md-header" data-md-component="header">
    62    <nav class="md-header-nav md-grid">
    63      <div class="md-flex">
    64        <div class="md-flex__cell md-flex__cell--shrink">
    65          
    66            <a href="../.." title="Ponzu" class="md-logo md-header-nav__button">
    67              <img src="../../images/logo.png" width="24" height="24">
    68            </a>
    69          
    70        </div>
    71        <div class="md-flex__cell md-flex__cell--shrink">
    72          <label class="md-icon md-icon--menu md-header-nav__button" for="drawer"></label>
    73        </div>
    74        <div class="md-flex__cell md-flex__cell--stretch">
    75          <span class="md-flex__ellipsis md-header-nav__title">
    76            
    77              
    78                
    79                  <span class="md-header-nav__parent">
    80                    Interfaces
    81                  </span>
    82                
    83              
    84              Search
    85            
    86          </span>
    87        </div>
    88        <div class="md-flex__cell md-flex__cell--shrink">
    89          
    90            <label class="md-icon md-icon--search md-header-nav__button" for="search"></label>
    91            
    92  <div class="md-search" data-md-component="search">
    93    <label class="md-search__overlay" for="search"></label>
    94    <div class="md-search__inner">
    95      <form class="md-search__form" name="search">
    96        <input type="text" class="md-search__input" name="query" required placeholder="Search" accesskey="s" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="query">
    97        <label class="md-icon md-search__icon" for="search"></label>
    98        <button type="reset" class="md-icon md-search__icon" data-md-component="reset">close</button>
    99      </form>
   100      <div class="md-search__output">
   101        <div class="md-search__scrollwrap" data-md-scrollfix>
   102          <div class="md-search-result" data-md-component="result">
   103            <div class="md-search-result__meta" data-md-lang-result-none="No matching documents" data-md-lang-result-one="1 matching document" data-md-lang-result-other="# matching documents">
   104              Type to start searching
   105            </div>
   106            <ol class="md-search-result__list"></ol>
   107          </div>
   108        </div>
   109      </div>
   110    </div>
   111  </div>
   112          
   113        </div>
   114        <div class="md-flex__cell md-flex__cell--shrink">
   115          <div class="md-header-nav__source">
   116            
   117              
   118  
   119  
   120    
   121  
   122  
   123    <a href="https://github.com/rpdict/ponzu" title="Go to repository" class="md-source" data-md-source="github">
   124      
   125        <div class="md-source__icon">
   126          <svg viewBox="0 0 24 24" width="24" height="24">
   127            <use xlink:href="#github" width="24" height="24"></use>
   128          </svg>
   129        </div>
   130      
   131      <div class="md-source__repository">
   132        ponzu-cms/ponzu
   133      </div>
   134    </a>
   135  
   136            
   137          </div>
   138        </div>
   139      </div>
   140    </nav>
   141  </header>
   142      
   143      <div class="md-container">
   144        
   145        
   146        <main class="md-main">
   147          <div class="md-main__inner md-grid" data-md-component="container">
   148            
   149              
   150                <div class="md-sidebar md-sidebar--primary" data-md-component="navigation">
   151                  <div class="md-sidebar__scrollwrap">
   152                    <div class="md-sidebar__inner">
   153                      <nav class="md-nav md-nav--primary" data-md-level="0">
   154    <label class="md-nav__title md-nav__title--site" for="drawer">
   155      
   156        <i class="md-logo md-nav__button">
   157          <img src="../../images/logo.png">
   158        </i>
   159      
   160      Ponzu
   161    </label>
   162    
   163      <div class="md-nav__source">
   164        
   165  
   166  
   167    
   168  
   169  
   170    <a href="https://github.com/rpdict/ponzu" title="Go to repository" class="md-source" data-md-source="github">
   171      
   172        <div class="md-source__icon">
   173          <svg viewBox="0 0 24 24" width="24" height="24">
   174            <use xlink:href="#github" width="24" height="24"></use>
   175          </svg>
   176        </div>
   177      
   178      <div class="md-source__repository">
   179        ponzu-cms/ponzu
   180      </div>
   181    </a>
   182  
   183      </div>
   184    
   185    <ul class="md-nav__list" data-md-scrollfix>
   186      
   187        
   188        
   189        
   190  
   191  
   192    <li class="md-nav__item">
   193      <a href="../.." title="Home" class="md-nav__link">
   194        Home
   195      </a>
   196    </li>
   197  
   198      
   199        
   200        
   201        
   202  
   203  
   204    <li class="md-nav__item md-nav__item--nested">
   205      
   206        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-2" type="checkbox" id="nav-2">
   207      
   208      <label class="md-nav__link" for="nav-2">
   209        CLI
   210      </label>
   211      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   212        <label class="md-nav__title" for="nav-2">
   213          CLI
   214        </label>
   215        <ul class="md-nav__list" data-md-scrollfix>
   216          
   217          
   218            
   219            
   220            
   221  
   222  
   223    <li class="md-nav__item">
   224      <a href="../../CLI/General-Usage/" title="General Usage" class="md-nav__link">
   225        General Usage
   226      </a>
   227    </li>
   228  
   229          
   230            
   231            
   232            
   233  
   234  
   235    <li class="md-nav__item">
   236      <a href="../../CLI/Generating-References/" title="Generating References" class="md-nav__link">
   237        Generating References
   238      </a>
   239    </li>
   240  
   241          
   242        </ul>
   243      </nav>
   244    </li>
   245  
   246      
   247        
   248        
   249        
   250  
   251  
   252    <li class="md-nav__item md-nav__item--nested">
   253      
   254        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-3" type="checkbox" id="nav-3">
   255      
   256      <label class="md-nav__link" for="nav-3">
   257        Content
   258      </label>
   259      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   260        <label class="md-nav__title" for="nav-3">
   261          Content
   262        </label>
   263        <ul class="md-nav__list" data-md-scrollfix>
   264          
   265          
   266            
   267            
   268            
   269  
   270  
   271    <li class="md-nav__item">
   272      <a href="../../Content/An-Overview/" title="An Overview" class="md-nav__link">
   273        An Overview
   274      </a>
   275    </li>
   276  
   277          
   278            
   279            
   280            
   281  
   282  
   283    <li class="md-nav__item">
   284      <a href="../../Content/Extending-Content/" title="Extending Content" class="md-nav__link">
   285        Extending Content
   286      </a>
   287    </li>
   288  
   289          
   290        </ul>
   291      </nav>
   292    </li>
   293  
   294      
   295        
   296        
   297        
   298  
   299  
   300    <li class="md-nav__item md-nav__item--nested">
   301      
   302        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-4" type="checkbox" id="nav-4">
   303      
   304      <label class="md-nav__link" for="nav-4">
   305        Form Fields
   306      </label>
   307      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   308        <label class="md-nav__title" for="nav-4">
   309          Form Fields
   310        </label>
   311        <ul class="md-nav__list" data-md-scrollfix>
   312          
   313          
   314            
   315            
   316            
   317  
   318  
   319    <li class="md-nav__item">
   320      <a href="../../Form-Fields/HTML-Inputs/" title="HTML Inputs" class="md-nav__link">
   321        HTML Inputs
   322      </a>
   323    </li>
   324  
   325          
   326        </ul>
   327      </nav>
   328    </li>
   329  
   330      
   331        
   332        
   333        
   334  
   335  
   336    <li class="md-nav__item md-nav__item--nested">
   337      
   338        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-5" type="checkbox" id="nav-5">
   339      
   340      <label class="md-nav__link" for="nav-5">
   341        HTTP APIs
   342      </label>
   343      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   344        <label class="md-nav__title" for="nav-5">
   345          HTTP APIs
   346        </label>
   347        <ul class="md-nav__list" data-md-scrollfix>
   348          
   349          
   350            
   351            
   352            
   353  
   354  
   355    <li class="md-nav__item">
   356      <a href="../../HTTP-APIs/Content/" title="Content" class="md-nav__link">
   357        Content
   358      </a>
   359    </li>
   360  
   361          
   362            
   363            
   364            
   365  
   366  
   367    <li class="md-nav__item">
   368      <a href="../../HTTP-APIs/File-Metadata/" title="File Metadata" class="md-nav__link">
   369        File Metadata
   370      </a>
   371    </li>
   372  
   373          
   374            
   375            
   376            
   377  
   378  
   379    <li class="md-nav__item">
   380      <a href="../../HTTP-APIs/Search/" title="Search" class="md-nav__link">
   381        Search
   382      </a>
   383    </li>
   384  
   385          
   386        </ul>
   387      </nav>
   388    </li>
   389  
   390      
   391        
   392        
   393        
   394  
   395    
   396  
   397  
   398    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
   399      
   400        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6" checked>
   401      
   402      <label class="md-nav__link" for="nav-6">
   403        Interfaces
   404      </label>
   405      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   406        <label class="md-nav__title" for="nav-6">
   407          Interfaces
   408        </label>
   409        <ul class="md-nav__list" data-md-scrollfix>
   410          
   411          
   412            
   413            
   414            
   415  
   416  
   417    <li class="md-nav__item">
   418      <a href="../API/" title="API" class="md-nav__link">
   419        API
   420      </a>
   421    </li>
   422  
   423          
   424            
   425            
   426            
   427  
   428  
   429    <li class="md-nav__item">
   430      <a href="../Editor/" title="Editor" class="md-nav__link">
   431        Editor
   432      </a>
   433    </li>
   434  
   435          
   436            
   437            
   438            
   439  
   440  
   441    <li class="md-nav__item">
   442      <a href="../Format/" title="Format" class="md-nav__link">
   443        Format
   444      </a>
   445    </li>
   446  
   447          
   448            
   449            
   450            
   451  
   452  
   453    <li class="md-nav__item">
   454      <a href="../Item/" title="Item" class="md-nav__link">
   455        Item
   456      </a>
   457    </li>
   458  
   459          
   460            
   461            
   462            
   463  
   464    
   465  
   466  
   467    <li class="md-nav__item md-nav__item--active">
   468      
   469      <input class="md-toggle md-nav__toggle" data-md-toggle="toc" type="checkbox" id="toc">
   470      
   471      
   472        <label class="md-nav__link md-nav__link--active" for="toc">
   473          Search
   474        </label>
   475      
   476      <a href="./" title="Search" class="md-nav__link md-nav__link--active">
   477        Search
   478      </a>
   479      
   480        
   481  <nav class="md-nav md-nav--secondary">
   482    
   483    
   484    
   485      <label class="md-nav__title" for="toc">Table of contents</label>
   486      <ul class="md-nav__list" data-md-scrollfix>
   487        
   488          <li class="md-nav__item">
   489    <a href="#interfaces" title="Interfaces" class="md-nav__link">
   490      Interfaces
   491    </a>
   492    
   493      <nav class="md-nav">
   494        <ul class="md-nav__list">
   495          
   496            <li class="md-nav__item">
   497    <a href="#searchsearchable" title="search.Searchable" class="md-nav__link">
   498      search.Searchable
   499    </a>
   500    
   501      <nav class="md-nav">
   502        <ul class="md-nav__list">
   503          
   504            <li class="md-nav__item">
   505    <a href="#method-set" title="Method Set" class="md-nav__link">
   506      Method Set
   507    </a>
   508    
   509  </li>
   510          
   511            <li class="md-nav__item">
   512    <a href="#example" title="Example" class="md-nav__link">
   513      Example
   514    </a>
   515    
   516  </li>
   517          
   518        </ul>
   519      </nav>
   520    
   521  </li>
   522          
   523        </ul>
   524      </nav>
   525    
   526  </li>
   527        
   528        
   529        
   530      </ul>
   531    
   532  </nav>
   533      
   534    </li>
   535  
   536          
   537        </ul>
   538      </nav>
   539    </li>
   540  
   541      
   542        
   543        
   544        
   545  
   546  
   547    <li class="md-nav__item md-nav__item--nested">
   548      
   549        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-7" type="checkbox" id="nav-7">
   550      
   551      <label class="md-nav__link" for="nav-7">
   552        Ponzu Addons
   553      </label>
   554      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   555        <label class="md-nav__title" for="nav-7">
   556          Ponzu Addons
   557        </label>
   558        <ul class="md-nav__list" data-md-scrollfix>
   559          
   560          
   561            
   562            
   563            
   564  
   565  
   566    <li class="md-nav__item">
   567      <a href="../../Ponzu-Addons/Creating-Addons/" title="Creating Addons" class="md-nav__link">
   568        Creating Addons
   569      </a>
   570    </li>
   571  
   572          
   573            
   574            
   575            
   576  
   577  
   578    <li class="md-nav__item">
   579      <a href="../../Ponzu-Addons/Using-Addons/" title="Using Addons" class="md-nav__link">
   580        Using Addons
   581      </a>
   582    </li>
   583  
   584          
   585        </ul>
   586      </nav>
   587    </li>
   588  
   589      
   590        
   591        
   592        
   593  
   594  
   595    <li class="md-nav__item md-nav__item--nested">
   596      
   597        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-8" type="checkbox" id="nav-8">
   598      
   599      <label class="md-nav__link" for="nav-8">
   600        Quickstart
   601      </label>
   602      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   603        <label class="md-nav__title" for="nav-8">
   604          Quickstart
   605        </label>
   606        <ul class="md-nav__list" data-md-scrollfix>
   607          
   608          
   609            
   610            
   611            
   612  
   613  
   614    <li class="md-nav__item">
   615      <a href="../../Quickstart/Overview/" title="Overview" class="md-nav__link">
   616        Overview
   617      </a>
   618    </li>
   619  
   620          
   621        </ul>
   622      </nav>
   623    </li>
   624  
   625      
   626        
   627        
   628        
   629  
   630  
   631    <li class="md-nav__item md-nav__item--nested">
   632      
   633        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-9" type="checkbox" id="nav-9">
   634      
   635      <label class="md-nav__link" for="nav-9">
   636        References
   637      </label>
   638      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   639        <label class="md-nav__title" for="nav-9">
   640          References
   641        </label>
   642        <ul class="md-nav__list" data-md-scrollfix>
   643          
   644          
   645            
   646            
   647            
   648  
   649  
   650    <li class="md-nav__item">
   651      <a href="../../References/Overview/" title="Overview" class="md-nav__link">
   652        Overview
   653      </a>
   654    </li>
   655  
   656          
   657        </ul>
   658      </nav>
   659    </li>
   660  
   661      
   662        
   663        
   664        
   665  
   666  
   667    <li class="md-nav__item md-nav__item--nested">
   668      
   669        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-10" type="checkbox" id="nav-10">
   670      
   671      <label class="md-nav__link" for="nav-10">
   672        Running Backups
   673      </label>
   674      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   675        <label class="md-nav__title" for="nav-10">
   676          Running Backups
   677        </label>
   678        <ul class="md-nav__list" data-md-scrollfix>
   679          
   680          
   681            
   682            
   683            
   684  
   685  
   686    <li class="md-nav__item">
   687      <a href="../../Running-Backups/Backups/" title="Backups" class="md-nav__link">
   688        Backups
   689      </a>
   690    </li>
   691  
   692          
   693        </ul>
   694      </nav>
   695    </li>
   696  
   697      
   698        
   699        
   700        
   701  
   702  
   703    <li class="md-nav__item md-nav__item--nested">
   704      
   705        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-11" type="checkbox" id="nav-11">
   706      
   707      <label class="md-nav__link" for="nav-11">
   708        System Configuration
   709      </label>
   710      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   711        <label class="md-nav__title" for="nav-11">
   712          System Configuration
   713        </label>
   714        <ul class="md-nav__list" data-md-scrollfix>
   715          
   716          
   717            
   718            
   719            
   720  
   721  
   722    <li class="md-nav__item">
   723      <a href="../../System-Configuration/Settings/" title="Settings" class="md-nav__link">
   724        Settings
   725      </a>
   726    </li>
   727  
   728          
   729        </ul>
   730      </nav>
   731    </li>
   732  
   733      
   734        
   735        
   736        
   737  
   738  
   739    <li class="md-nav__item md-nav__item--nested">
   740      
   741        <input class="md-toggle md-nav__toggle" data-md-toggle="nav-12" type="checkbox" id="nav-12">
   742      
   743      <label class="md-nav__link" for="nav-12">
   744        System Deployment
   745      </label>
   746      <nav class="md-nav" data-md-component="collapsible" data-md-level="1">
   747        <label class="md-nav__title" for="nav-12">
   748          System Deployment
   749        </label>
   750        <ul class="md-nav__list" data-md-scrollfix>
   751          
   752          
   753            
   754            
   755            
   756  
   757  
   758    <li class="md-nav__item">
   759      <a href="../../System-Deployment/Docker/" title="Docker" class="md-nav__link">
   760        Docker
   761      </a>
   762    </li>
   763  
   764          
   765            
   766            
   767            
   768  
   769  
   770    <li class="md-nav__item">
   771      <a href="../../System-Deployment/SysV-Style/" title="SysV Style" class="md-nav__link">
   772        SysV Style
   773      </a>
   774    </li>
   775  
   776          
   777        </ul>
   778      </nav>
   779    </li>
   780  
   781      
   782    </ul>
   783  </nav>
   784                    </div>
   785                  </div>
   786                </div>
   787              
   788              
   789                <div class="md-sidebar md-sidebar--secondary" data-md-component="toc">
   790                  <div class="md-sidebar__scrollwrap">
   791                    <div class="md-sidebar__inner">
   792                      
   793  <nav class="md-nav md-nav--secondary">
   794    
   795    
   796    
   797      <label class="md-nav__title" for="toc">Table of contents</label>
   798      <ul class="md-nav__list" data-md-scrollfix>
   799        
   800          <li class="md-nav__item">
   801    <a href="#interfaces" title="Interfaces" class="md-nav__link">
   802      Interfaces
   803    </a>
   804    
   805      <nav class="md-nav">
   806        <ul class="md-nav__list">
   807          
   808            <li class="md-nav__item">
   809    <a href="#searchsearchable" title="search.Searchable" class="md-nav__link">
   810      search.Searchable
   811    </a>
   812    
   813      <nav class="md-nav">
   814        <ul class="md-nav__list">
   815          
   816            <li class="md-nav__item">
   817    <a href="#method-set" title="Method Set" class="md-nav__link">
   818      Method Set
   819    </a>
   820    
   821  </li>
   822          
   823            <li class="md-nav__item">
   824    <a href="#example" title="Example" class="md-nav__link">
   825      Example
   826    </a>
   827    
   828  </li>
   829          
   830        </ul>
   831      </nav>
   832    
   833  </li>
   834          
   835        </ul>
   836      </nav>
   837    
   838  </li>
   839        
   840        
   841        
   842      </ul>
   843    
   844  </nav>
   845                    </div>
   846                  </div>
   847                </div>
   848              
   849            
   850            <div class="md-content">
   851              <article class="md-content__inner md-typeset">
   852                
   853                  
   854                  
   855                    <h1>Search</h1>
   856                  
   857                  <p>Ponzu provides a set of interfaces from the <code>system/search</code> package to enable and customize full-text search access to content in your system. <strong>Search is not enabled by default</strong>, and must be enabled per Content type individually.</p>
   858  <h2 id="interfaces">Interfaces<a class="headerlink" href="#interfaces" title="Permanent link">&para;</a></h2>
   859  <h3 id="searchsearchable"><a href="https://godoc.org/github.com/rpdict/ponzu/system/search#Searchable">search.Searchable</a><a class="headerlink" href="#searchsearchable" title="Permanent link">&para;</a></h3>
   860  <p>Searchable determines how content is indexed and whether the system should index the content when it is created and updated or be removed from the index when content is deleted.</p>
   861  <div class="admonition warning">
   862  <p>Search is <strong>disabled</strong> for all Content items by default. Each Content item that should be indexed and searchable must implement the <code>search.Searchable</code> interface.</p>
   863  </div>
   864  <h5 id="method-set">Method Set<a class="headerlink" href="#method-set" title="Permanent link">&para;</a></h5>
   865  <div class="codehilite"><pre><span></span><span class="kd">type</span> <span class="nx">Searchable</span> <span class="kd">interface</span> <span class="p">{</span>
   866      <span class="nx">SearchMapping</span><span class="p">()</span> <span class="p">(</span><span class="o">*</span><span class="nx">mapping</span><span class="p">.</span><span class="nx">IndexMappingImpl</span><span class="p">,</span> <span class="kt">error</span><span class="p">)</span>
   867      <span class="nx">IndexContent</span><span class="p">()</span> <span class="kt">bool</span>
   868  <span class="p">}</span>
   869  </pre></div>
   870  
   871  
   872  <p>By default, Ponzu sets up the <a href="http://blevesearch.com">Bleve's</a> "default mapping", which is typically what you want for most content-based systems. This can be overridden by implementing your own <code>SearchMapping() (*mapping.IndexMappingImpl, error)</code> method on your Content type. </p>
   873  <p>This way, all you need to do to get full-text search is to add the <code>IndexContent() bool</code> method to each Content type you want search enabled. Return <code>true</code> from this method to enable search. </p>
   874  <h5 id="example">Example<a class="headerlink" href="#example" title="Permanent link">&para;</a></h5>
   875  <div class="codehilite"><pre><span></span><span class="c1">// ...</span>
   876  
   877  <span class="kd">type</span> <span class="nx">Song</span> <span class="kd">struct</span> <span class="p">{</span>
   878      <span class="nx">item</span><span class="p">.</span><span class="nx">Item</span>
   879  
   880      <span class="nx">Name</span> <span class="kt">string</span> <span class="s">`json:&quot;name&quot;`</span>
   881      <span class="c1">// ...</span>
   882  <span class="p">}</span>
   883  
   884  <span class="kd">func</span> <span class="p">(</span><span class="nx">s</span> <span class="o">*</span><span class="nx">Song</span><span class="p">)</span> <span class="nx">IndexContent</span><span class="p">()</span> <span class="kt">bool</span> <span class="p">{</span>
   885      <span class="k">return</span> <span class="kc">true</span>
   886  <span class="p">}</span>
   887  </pre></div>
   888  
   889  
   890  <div class="admonition tip">
   891  <p class="admonition-title">Indexing Existing Content</p>
   892  <p>If you previously had search disabled and had already added content to your system, you will need to re-index old content items in your CMS. Otherwise, they will not show up in search queries.. This requires you to manually open each item and click 'Save'. This could be scripted and Ponzu <em>might</em> ship with a re-indexing function at some point in the fututre.</p>
   893  </div>
   894                  
   895                    
   896                  
   897                
   898                
   899                  
   900                
   901              </article>
   902            </div>
   903          </div>
   904        </main>
   905        
   906          
   907  <footer class="md-footer">
   908    
   909      <div class="md-footer-nav">
   910        <nav class="md-footer-nav__inner md-grid">
   911          
   912            <a href="../Item/" title="Item" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel="prev">
   913              <div class="md-flex__cell md-flex__cell--shrink">
   914                <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i>
   915              </div>
   916              <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
   917                <span class="md-flex__ellipsis">
   918                  <span class="md-footer-nav__direction">
   919                    Previous
   920                  </span>
   921                  Item
   922                </span>
   923              </div>
   924            </a>
   925          
   926          
   927            <a href="../../Ponzu-Addons/Creating-Addons/" title="Creating Addons" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel="next">
   928              <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title">
   929                <span class="md-flex__ellipsis">
   930                  <span class="md-footer-nav__direction">
   931                    Next
   932                  </span>
   933                  Creating Addons
   934                </span>
   935              </div>
   936              <div class="md-flex__cell md-flex__cell--shrink">
   937                <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i>
   938              </div>
   939            </a>
   940          
   941        </nav>
   942      </div>
   943    
   944    <div class="md-footer-meta md-typeset">
   945      <div class="md-footer-meta__inner md-grid">
   946        <div class="md-footer-copyright">
   947          
   948          powered by
   949          <a href="http://www.mkdocs.org" title="MkDocs">MkDocs</a>
   950          and
   951          <a href="http://squidfunk.github.io/mkdocs-material/" title="Material for MkDocs">
   952            Material for MkDocs</a>
   953        </div>
   954        
   955          
   956    <div class="md-footer-social">
   957      
   958      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
   959      
   960        <a href="https://github.com/rpdict" class="md-footer-social__link fa fa-github"></a>
   961      
   962        <a href="https://twitter.com/ponzu_cms" class="md-footer-social__link fa fa-twitter"></a>
   963      
   964    </div>
   965  
   966        
   967      </div>
   968    </div>
   969  </footer>
   970        
   971      </div>
   972      
   973        <script src="../../assets/javascripts/application-6b599127bc.js"></script>
   974        <script>app.initialize({url:{base:"../.."}})</script>
   975        
   976      
   977      
   978        
   979        <script>!function(e,t,a,n,o,c,i){e.GoogleAnalyticsObject=o,e[o]=e[o]||function(){(e[o].q=e[o].q||[]).push(arguments)},e[o].l=1*new Date,c=t.createElement(a),i=t.getElementsByTagName(a)[0],c.async=1,c.src=n,i.parentNode.insertBefore(c,i)}(window,document,"script","https://www.google-analytics.com/analytics.js","ga"),ga("create","UA-98609560-1","auto"),ga("set","anonymizeIp",!0),ga("send","pageview");var links=document.getElementsByTagName("a");Array.prototype.map.call(links,function(e){e.host!=document.location.host&&e.addEventListener("click",function(){var t=e.getAttribute("data-md-action")||"follow";ga("send","event","outbound",t,e.href)})});var query=document.forms.search.query;query.addEventListener("blur",function(){if(this.value){var e=document.location.pathname;ga("send","pageview",e+"?q="+this.value)}})</script>
   980        
   981      
   982    </body>
   983  </html>