102 lines
4.3 KiB
Text
102 lines
4.3 KiB
Text
|
Introduction
|
||
|
------------
|
||
|
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.
|
||
|
|
||
|
Known Limitations
|
||
|
-----------------
|
||
|
* The /browse and the VelocityResponseWriter component
|
||
|
serve content directly from Solr, which usually requires
|
||
|
Solr's HTTP API to be exposed. Advanced users could
|
||
|
potentially access other parts of Solr directly.
|
||
|
* There are some hard coded fields in these templates.
|
||
|
Since these templates live under conf, they should be
|
||
|
considered part of the overall configuration, and
|
||
|
must be coordinated with schema.xml and solrconfig.xml
|
||
|
|
||
|
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
|