Solr Search Velocity Templates
A quick demo of using Solr using http://wiki.apache.org/solr/VelocityResponseWriter
You typically access these templates via: http://localhost:8983/solr/collection1/browse
It's called “browse” because you can click around with your mouse without needing to type any search terms. And of course it also works as a standard search app as well.
Java-based template language.
It's nice in this context because change to the templates are immediately visible in browser on the next visit.
Links:
http://velocity.apache.org http://wiki.apache.org/velocity/ http://velocity.apache.org/engine/releases/velocity-1.7/user-guide.html
System and Misc:
VM_global_library.vm - Macros used other templates, exact filename is important for Velocity to see it error.vm - shows errors, if any debug.vm - includes toggle links for "explain" and "all fields" activated by debug link in footer.vm README.md - this file
Overall Page Composition:
browse.vm - Main entry point into templates layout.vm - overall HTML page layout head.vm - elements in the <head> section of the HTML document header.vm - top section of page visible to users footer.vm - bottom section of page visible to users, includes debug and help links main.css - CSS style for overall pages see also jquery.autocomplete.css
Query Form and Options:
query_form.vm - renders query form query_group.vm - group by fields e.g.: Manufacturer or Poplularity query_spatial.vm - select box for location based Geospacial search
Spelling Suggestions:
did_you_mean.vm - hyperlinked spelling suggestions in results suggest.vm - dynamic spelling suggestions as you type in the search form jquery.autocomplete.js - supporting files for dynamic suggestions jquery.autocomplete.css - Most CSS is defined in main.css
Search Results, General:
(see also browse.vm) tabs.vm - provides navigation to advanced search options pagination_top.vm - paging and staticis at top of results pagination_bottom.vm - paging and staticis at bottom of results results_list.vm hit.vm - called for each matching doc, decides which template to use hit_grouped.vm - display results grouped by field values product_doc.vm - display a Product join_doc.vm - display a joined document richtext_doc.vm - display a complex/misc. document hit_plain.vm - basic display of all fields, edit results_list.vm to enable this
Search Results, Facets & Clusters:
facets.vm - calls the 4 facet and 1 cluster template facet_fields.vm - display facets based on field values e.g.: fields specified by &facet.field= facet_queries.vm - display facets based on specific facet queries e.g.: facets specified by &facet.query= facet_ranges.vm - display facets based on ranges e.g.: ranges specified by &facet.range= facet_pivot.vm - display pivot based facets e.g.: facets specified by &facet.pivot= cluster.vm - if clustering is available then call cluster_results.vm cluster_results.vm - actual rendering of clusters