Introduction


Solr Search Velocity Templates

A quick demo of using Solr using 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.

Known Limitations


Velocity Info


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

File List


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.txt              - 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