blacklight 3.8.1 → 3.8.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +14 -0
- data/VERSION +1 -1
- data/app/controllers/bookmarks_controller.rb +2 -0
- data/app/models/solr_document.rb +5 -0
- data/app/views/_user_util_links.html.erb +2 -0
- data/app/views/catalog/_bookmark_control.html.erb +1 -1
- data/doc/Atom-Responses.md +90 -0
- data/doc/Blacklight-3.2-Release-Notes-and-Upgrade-Guide.md +191 -0
- data/doc/Blacklight-3.3-release-notes-and-upgrade-guide.md +37 -0
- data/doc/Blacklight-3.4-release-notes-and-upgrade-guide.md +27 -0
- data/doc/Blacklight-3.5-release-notes-and-upgrade-guide.md +44 -0
- data/doc/Blacklight-3.6-release-notes-and-upgrade-guide.md +25 -0
- data/doc/Blacklight-3.7-release-notes-and-upgrade-guide.md +78 -0
- data/doc/Blacklight-3.8-release-notes-and-upgrade-guide.md +11 -0
- data/doc/Blacklight-Add-ons.md +28 -0
- data/doc/Blacklight-configuration.md +301 -0
- data/doc/Blacklight-on-Heroku.md +135 -0
- data/doc/Community-principles.md +44 -0
- data/doc/Configuring-and-Customizing-Blacklight.md +271 -0
- data/doc/Contributing-to-Blacklight.md +25 -0
- data/doc/Examples.md +62 -0
- data/doc/Extending-or-Modifying-Blacklight-Search-Behavior.md +141 -0
- data/doc/Home.md +77 -0
- data/doc/How-to-release-a-version.md +37 -0
- data/doc/Indexing-your-data-into-solr.md +5 -0
- data/doc/Integration-with-Rails-Footnotes.md +20 -0
- data/doc/Pagination.md +38 -0
- data/doc/Providing-your-own-view-templates.md +109 -0
- data/doc/Quickstart.md +116 -0
- data/doc/README.md +77 -0
- data/doc/README_SOLR.md +245 -0
- data/doc/Release-Notes-And-Upgrade-Guides.md +14 -0
- data/doc/Sunspot-for-indexing.md +46 -0
- data/doc/User-Authentication.md +60 -0
- data/doc/testing.md +115 -0
- data/lib/blacklight/controller.rb +4 -1
- data/lib/generators/blacklight/blacklight_generator.rb +2 -1
- data/lib/solrmarc.log.1 +849 -0
- data/test_support/bin/test.sh +3 -1
- data/test_support/features/record_view.feature +0 -1
- data/test_support/features/search.feature +0 -1
- data/test_support/features/step_definitions/error_steps.rb +1 -1
- data/test_support/features/step_definitions/general_steps.rb +1 -1
- data/test_support/features/step_definitions/search_facets_steps.rb +7 -7
- data/test_support/features/step_definitions/search_steps.rb +2 -2
- data/test_support/spec/{requests → features}/alternate_controller_spec.rb +0 -0
- data/test_support/spec/helpers/blacklight_helper_spec.rb +5 -5
- metadata +37 -5
data/doc/Quickstart.md
ADDED
@@ -0,0 +1,116 @@
|
|
1
|
+
Blacklight is a Ruby on Rails Engine plugin, meaning it provides a small application that runs inside an existing Ruby on Rails project. For notes on upgrading Blacklight, check out our [[Release Notes And Upgrade Guides]] index.
|
2
|
+
|
3
|
+
## Pre-requisites
|
4
|
+
* Ruby 1.9 or higher (consider using [[RVM|https://rvm.beginrescueend.com/rvm/install/]] or [[RBEnv|http://rbenv.org/]] to manage your Ruby version).
|
5
|
+
* Java 1.5 or higher (in order to run solr under a java servlet container)
|
6
|
+
* **For Windows users**: You may want to use [RailsInstaller](http://railsinstaller.org/) to get a Ruby on Rails environment.
|
7
|
+
|
8
|
+
> NOTE: We run our continuous integration tests against Ruby 1.9.3, Ruby 1.8.7, JRuby and REE using the latest release of Rails, although we highly recommend using Ruby 1.9 and Rails 3.2.
|
9
|
+
|
10
|
+
In addition, you should have the Bundler and Rails ruby gems installed:
|
11
|
+
|
12
|
+
```bash
|
13
|
+
$ gem install bundler
|
14
|
+
$ gem install rails
|
15
|
+
```
|
16
|
+
|
17
|
+
## Install and Use
|
18
|
+
|
19
|
+
1. Create a new rails 3 application
|
20
|
+
|
21
|
+
```bash
|
22
|
+
$ rails new my_app
|
23
|
+
# create
|
24
|
+
# create README
|
25
|
+
# create Rakefile
|
26
|
+
# create config.ru
|
27
|
+
# create .gitignore
|
28
|
+
# create Gemfile
|
29
|
+
# [...]
|
30
|
+
|
31
|
+
$ cd my_app
|
32
|
+
```
|
33
|
+
|
34
|
+
Rails automatically created an `public/index.html` file. However, Blacklight will provide a default `root` route for your application, so you probably want to remove it:
|
35
|
+
|
36
|
+
```bash
|
37
|
+
$ rm public/index.html
|
38
|
+
```
|
39
|
+
|
40
|
+
2. Append this line to your application's `Gemfile`
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
gem 'blacklight'
|
44
|
+
```
|
45
|
+
|
46
|
+
Especially if you are running on Linux, you may have to add `gem 'therubyracer'` to your gemfile, to get a Javascript runtime needed by the asset pipeline.
|
47
|
+
|
48
|
+
then, update the bundle
|
49
|
+
|
50
|
+
```bash
|
51
|
+
$ bundle install
|
52
|
+
```
|
53
|
+
|
54
|
+
3. Install blacklight using Devise for user authentication:
|
55
|
+
|
56
|
+
```bash
|
57
|
+
$ gem install devise
|
58
|
+
$ rails generate blacklight --devise
|
59
|
+
```
|
60
|
+
If you would prefer to integrate with an alternative user authentication provider, see the [[User Authentication]] documentation. You can also install with no support for logged in users simply by omitting the devise install, and generating blacklight with `rails generate blacklight` (no --devise argument).
|
61
|
+
|
62
|
+
4. Run your database migrations to create Blacklight's database tables:
|
63
|
+
|
64
|
+
```bash
|
65
|
+
$ rake db:migrate
|
66
|
+
```
|
67
|
+
|
68
|
+
5. You will need to install and configure Solr. You can install
|
69
|
+
Blacklight's example Solr configuration (using the jetty servlet container) that is configured to work with
|
70
|
+
the Blacklight defaults:
|
71
|
+
|
72
|
+
```bash
|
73
|
+
$ rails generate blacklight:jetty
|
74
|
+
```
|
75
|
+
|
76
|
+
Alternatively, you can also install your own copy of Solr or point Blacklight at an existing Solr server ( referred to in your `config/solr.yml`). The Blacklight
|
77
|
+
configuration must match your Solr configuration. In addition, Blacklight has minor expectations about the Solr configuration and schemas. You can generate the Blacklight demonstration solrconfig and schema files using:
|
78
|
+
|
79
|
+
```bash
|
80
|
+
$ rails generate blacklight:solr_conf path/to/output/directory/
|
81
|
+
```
|
82
|
+
|
83
|
+
**For Windows Users: ** This step will only work on *nix platforms. You can manually download and extract a tagged version of [blacklight-jetty](https://github.com/projectblacklight/blacklight-jetty/tags). After extracting the file, you need to update the `config/solr.yml` file to add a `jetty_path` key to your test environment, e.g.:
|
84
|
+
|
85
|
+
```yaml
|
86
|
+
test: &test
|
87
|
+
url: http://localhost:8983/solr
|
88
|
+
jetty_path: C:\path\to\jetty
|
89
|
+
```
|
90
|
+
|
91
|
+
|
92
|
+
6. Make sure your Solr server is running. If you installed the Blacklight demo Solr/Jetty package, you can start the Jetty/Solr server using:
|
93
|
+
|
94
|
+
```bash
|
95
|
+
$ java -jar jetty/start.jar &
|
96
|
+
```
|
97
|
+
|
98
|
+
6. Index some data. You can index test MARC records provided Blacklight running:
|
99
|
+
|
100
|
+
```bash
|
101
|
+
$ rake solr:marc:index_test_data
|
102
|
+
```
|
103
|
+
|
104
|
+
7. Start up your application
|
105
|
+
|
106
|
+
```bash
|
107
|
+
$ rails server
|
108
|
+
```
|
109
|
+
|
110
|
+
Visit the catalog at [[http://localhost:3000/catalog]]. You should see the Blacklight interface with 30 MARC records for testing. Additional MARC records are available from the [[blacklight-data|https://github.com/projectblacklight/blacklight-data]] repository. These can be ingested into Solr using SolrMarc,
|
111
|
+
|
112
|
+
```bash
|
113
|
+
$ rake solr:marc:index MARC_FILE=(path to file)
|
114
|
+
```
|
115
|
+
|
116
|
+
See [[Configuring and Customizing Blacklight]] for information about how to customize the Blacklight user interface, search experience, and more.
|
data/doc/README.md
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
#
|
2
|
+
[[https://github.com/projectblacklight/projectblacklight.github.com/raw/master/images/logo.png]]
|
3
|
+
|
4
|
+
## Introduction
|
5
|
+
|
6
|
+
Blacklight is an open source, Ruby on Rails engine/gem that provides a discovery interface for [Apache Solr](http://lucene.apache.org/solr). Blacklight provides a basic user interface with a search box, facet constraints, stable document urls, etc., all of which is customizable via Rails (templating) mechanisms. Blacklight accommodates heterogeneous data, allowing different information displays for different types of objects.
|
7
|
+
|
8
|
+
Some other features include:
|
9
|
+
|
10
|
+
* Stable URLs for search and record pages allow users to bookmark, share, and save search queries for later access
|
11
|
+
* Every Blacklight search provides RSS and Atom Responses of search results
|
12
|
+
* For certain types of solr documents, an OpenURL/Z39.88 COinS object is embedded in each document, which allows plugins like Zotero to easily extract data from the page.
|
13
|
+
* Blacklight supports OpenSearch, a collection of simple formats for the sharing of search results.
|
14
|
+
* Faceted searching
|
15
|
+
* Search queries can be targeted at specific sets of fields
|
16
|
+
* Results sorting
|
17
|
+
* Tools for exporting records to Refworks or Endnote, sending records via Email or SMS, or as a formatted citation.
|
18
|
+
|
19
|
+
A [demo application](http://demo.projectblacklight.org) uses the latest version of Blacklight to display a basic library catalog.
|
20
|
+
|
21
|
+
> NOTE: This wiki provides developer documentation for the latest Blacklight release. For documentation of older releases, see the end of this page.
|
22
|
+
|
23
|
+
## Getting Started
|
24
|
+
* [[Quickstart Guide|Quickstart]]
|
25
|
+
* [[Site Search|http://projectblacklight.org/search.html]]
|
26
|
+
* [[Demo|http://demo.projectblacklight.org]]
|
27
|
+
* [[Example installations|Examples]]
|
28
|
+
* [[Release Notes And Upgrade Guides]]
|
29
|
+
|
30
|
+
|
31
|
+
## Developing your application
|
32
|
+
* [[Blacklight Configuration]]: Search results, facets, query fields
|
33
|
+
* [[Providing your own view templates]]: Overriding the out-of-the-box Blacklight templates the Rails way.
|
34
|
+
* [[User Authentication]]: Connecting Blacklight with an existing Authentication system
|
35
|
+
* [[Extending or Modifying Blacklight Search Behavior]] How to change the way the Blacklight discovery feature works.
|
36
|
+
* [[Internationalization]]: Translating (or simply customizing) the Blacklight copy
|
37
|
+
* [[Common Blacklight Patterns]]
|
38
|
+
* [[Indexing your data into Solr]]
|
39
|
+
* [[Additional Blacklight-specific Solr documentation|README_SOLR]]
|
40
|
+
* [[Blacklight on Heroku]]
|
41
|
+
* [[Pagination]]: Advise on how to customize pagination with Kaminari
|
42
|
+
|
43
|
+
|
44
|
+
## Support
|
45
|
+
Don't be scared to ask a question on the [[Blacklight mailing list|http://groups.google.com/group/blacklight-development]]. We appreciate you checking the documentation first and asking an educated question, but don't beat your head against the wall -- sometimes the existing documentation may be out of date and inaccurate.
|
46
|
+
|
47
|
+
In order to reduce spam, the first time you post your email will be held in a moderation queue, but as soon as your first message is approved your posts won’t be held for moderation any longer.
|
48
|
+
|
49
|
+
Some Blacklight developers aso hang out on our IRC channel, usually during North American office hours. On `chat.freenode.net`, channel `#blacklight`. Stop in and say hi, we're happy to help with questions when we have time. [[http://freenode.net/faq.shtml]].
|
50
|
+
|
51
|
+
* [[Bug Tracker|https://github.com/projectblacklight/blacklight/issues/]]
|
52
|
+
* [[Mailing List|http://groups.google.com/group/blacklight-development]]
|
53
|
+
* [[Jenkins Continuous Integration|http://hudson.projectblacklight.org]]
|
54
|
+
|
55
|
+
## Contributing to Blacklight
|
56
|
+
|
57
|
+
* [[Contributing to Blacklight]]
|
58
|
+
* [[Community Principles]]
|
59
|
+
* [[How to release a version]]
|
60
|
+
* [[Testing]]
|
61
|
+
|
62
|
+
## Releases
|
63
|
+
Blacklight releases are published on the [[Rubygems.org blacklight project|https://rubygems.org/gems/blacklight]].
|
64
|
+
|
65
|
+
For a list of features and bugfixes in Blacklight releases, see the [[Release announcements|Release Notes And Upgrade Guides]] on this wiki.
|
66
|
+
|
67
|
+
### Older Documentation
|
68
|
+
This wiki provides developer documentation for the ```master``` branch of Blacklight, which may include documentation of features not present in every Blacklight version. For documentation of specific Blacklight releases, see also:
|
69
|
+
|
70
|
+
* [[Home]]
|
71
|
+
* [[Blacklight 3.x|https://github.com/projectblacklight/blacklight/tree/release-3.8/doc]]
|
72
|
+
* [[Blacklight 3.0 or 3.1|https://github.com/projectblacklight/blacklight/tree/release-3.1/doc]]
|
73
|
+
* [[Blacklight 2.x|https://github.com/projectblacklight/blacklight/tree/v2.9-frozen/doc]] for all Blacklight 2.x releases; version-specific documentation is also available:
|
74
|
+
* [[Blacklight 2.7|https://github.com/projectblacklight/blacklight/tree/v2.7.0/doc]]
|
75
|
+
* [[Blacklight 2.6|https://github.com/projectblacklight/blacklight/tree/v2.6.0/doc]]
|
76
|
+
* [[Blacklight 2.5|https://github.com/projectblacklight/blacklight/tree/v2.5.0/doc]]
|
77
|
+
* [[Blacklight 2.4|https://github.com/projectblacklight/blacklight/tree/v2.4.2/doc]]
|
data/doc/README_SOLR.md
ADDED
@@ -0,0 +1,245 @@
|
|
1
|
+
#Solr in Blacklight
|
2
|
+
|
3
|
+
##Setting up Solr
|
4
|
+
|
5
|
+
Blacklight uses Solr as its "search engine".
|
6
|
+
More information about Solr is available at the Solr web site ( http://lucene.apache.org/solr/)
|
7
|
+
|
8
|
+
There are three sections to this document:
|
9
|
+
* Getting Solr
|
10
|
+
* Configuring Solr
|
11
|
+
* schema.xml
|
12
|
+
* solrconfig.xml
|
13
|
+
* SolrMARC
|
14
|
+
|
15
|
+
### Getting Solr
|
16
|
+
Blacklight distributes a pre-configured version of Solr (with the Jetty
|
17
|
+
container) as [[blacklight-jetty|https://github.com/projectblacklight/blacklight-jetty/tags]].
|
18
|
+
|
19
|
+
You can also use an existing Solr index (with some minor modifications).
|
20
|
+
If you want to start from a new version of Solr, follow the directions from the [[Solr tutorial|http://lucene.apache.org/solr/tutorial.html]]
|
21
|
+
|
22
|
+
You should now have a usable copy of Solr.
|
23
|
+
|
24
|
+
### Configuring Solr
|
25
|
+
####Solr Schema.xml
|
26
|
+
|
27
|
+
Between the `schema.xml` and `solrconfig.xml` you can change and tune the search behavior following directions from the [[Solr wiki|http://wiki.apache.org/solr/]]. Solr comes with example schema and solrconfig files, which you can use as a starting point for configuring your local Solr application.
|
28
|
+
|
29
|
+
Blacklight expects a uniqueKey field within your Solr index,
|
30
|
+
traditionally called `id`. The name of the unique key field can be
|
31
|
+
configured in your application's `SolrDocument`.
|
32
|
+
|
33
|
+
##### Blacklight community "best practices"
|
34
|
+
|
35
|
+
Solr uses a schema.xml file to define document fields (among other things). These fields store data for searching and for result display. You can find the example/solr/conf/schema.xml file in the Solr distribution you just downloaded and uncompressed.
|
36
|
+
|
37
|
+
Documentation about the Solr schema.xml file is available at (http://wiki.apache.org/solr/SchemaXml).
|
38
|
+
|
39
|
+
The default schema.xml file comes with some preset fields made to work with
|
40
|
+
the example data. If you don't already have a schema.xml setup, we
|
41
|
+
recommend using a simplified "fields" section like this:
|
42
|
+
```xml
|
43
|
+
<fields>
|
44
|
+
<field name="id" type="string" indexed="true" stored="true" required="true" />
|
45
|
+
<field name="text" type="text" indexed="true" stored="false" multiValued="true"/>
|
46
|
+
<field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
|
47
|
+
<field name="spell" type="textSpell" indexed="true" stored="true" multiValued="true"/>
|
48
|
+
<dynamicField name="*_i" type="sint" indexed="true" stored="true"/>
|
49
|
+
<dynamicField name="*_s" type="string" indexed="true" stored="true" multiValued="true"/>
|
50
|
+
<dynamicField name="*_l" type="slong" indexed="true" stored="true"/>
|
51
|
+
<dynamicField name="*_t" type="text" indexed="true" stored="true" multiValued="true"/>
|
52
|
+
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
|
53
|
+
<dynamicField name="*_f" type="sfloat" indexed="true" stored="true"/>
|
54
|
+
<dynamicField name="*_d" type="sdouble" indexed="true" stored="true"/>
|
55
|
+
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
|
56
|
+
<dynamicField name="random*" type="random" />
|
57
|
+
<dynamicField name="*_facet" type="string" indexed="true" stored="true" multiValued="true" />
|
58
|
+
<dynamicField name="*_display" type="string" indexed="false" stored="true" />
|
59
|
+
</fields>
|
60
|
+
```
|
61
|
+
|
62
|
+
|
63
|
+
Additionally, replace all of the tags after the "fields" section, and before
|
64
|
+
the `</schema>` tag with this:
|
65
|
+
```xml
|
66
|
+
<uniqueKey>id</uniqueKey>
|
67
|
+
<defaultSearchField>text</defaultSearchField>
|
68
|
+
<solrQueryParser defaultOperator="OR"/>
|
69
|
+
<copyField source="*_facet" dest="text"/>
|
70
|
+
```
|
71
|
+
|
72
|
+
Now you have a basic schema.xml file ready. Other fields can be specified, including a primary document title (`title_display`) and format (`format`), but these are easily configured in your application's `CatalogController`.
|
73
|
+
|
74
|
+
Fields that are "indexed" are searchable.
|
75
|
+
|
76
|
+
Fields that are "stored" are can be viewed/displayed from the Solr search
|
77
|
+
results.
|
78
|
+
|
79
|
+
The fields with asterisks ('*') in their names are "dynamic" fields. These
|
80
|
+
allow you to create arbitrary tags at index time.
|
81
|
+
|
82
|
+
The *_facet field can be used for creating your facets. When you index,
|
83
|
+
simply define a field with _facet on the end:
|
84
|
+
category_facet
|
85
|
+
|
86
|
+
The *_display field can be used for storing text that doesn't need to be
|
87
|
+
indexed. An example would be the raw MARC for a record's detail view:
|
88
|
+
raw_marc_display
|
89
|
+
|
90
|
+
For text that will be queried (and possibly displayed), use the *_t type
|
91
|
+
field for tokenized text (text broken into pieces/words) or the *_s type
|
92
|
+
for queries that should exactly match the field contents:
|
93
|
+
description_t
|
94
|
+
url_s
|
95
|
+
|
96
|
+
The Blacklight application is generic enough to work with any Solr schema, but to
|
97
|
+
manipulate the search results and single record displays, you'll need to know the
|
98
|
+
stored fields in your indexed documents.
|
99
|
+
|
100
|
+
For more information, refer to the Solr documentation:
|
101
|
+
http://wiki.apache.org/solr/SchemaXml
|
102
|
+
|
103
|
+
|
104
|
+
#####solrconfig.xml
|
105
|
+
|
106
|
+
Solr uses the solrconfig.xml file to define searching configurations, set cache options, etc.
|
107
|
+
You can find the examples/solr/conf/solrconfig.xml in the distribution directory you just uncompressed.
|
108
|
+
|
109
|
+
Documentation about the solrconfig.xml file is available at (http://wiki.apache.org/solr/SolrConfigXml).
|
110
|
+
|
111
|
+
Blacklight expects two request handlers to be defined -- one to handle
|
112
|
+
general search requests and one to handle single-document lookup. The
|
113
|
+
names of these request handlers are configurable, but are called
|
114
|
+
"search" and "document" respectively, out of the box.
|
115
|
+
|
116
|
+
|
117
|
+
#####Solr Search Request Handlers
|
118
|
+
|
119
|
+
When Blacklight does a collection search, it sends a request to a Solr
|
120
|
+
request handler named "search". The most important settings in this handler
|
121
|
+
definition are the "fl" param (field list) and the facet params.
|
122
|
+
|
123
|
+
The "fl" param specifies which fields are returned in a Solr response.
|
124
|
+
The facet related params set up the faceting mechanism.
|
125
|
+
|
126
|
+
Find out more about the basic params:
|
127
|
+
http://wiki.apache.org/solr/DisMaxRequestHandler
|
128
|
+
|
129
|
+
Find out more about the faceting params:
|
130
|
+
http://wiki.apache.org/solr/SimpleFacetParameters
|
131
|
+
|
132
|
+
|
133
|
+
######How the "fl" param works in Blacklight's request handlers
|
134
|
+
|
135
|
+
Blacklight comes with a set of "default" views for rendering each document
|
136
|
+
in a search results page. This view simply loops through all of the fields
|
137
|
+
returned in each document in the Solr response. The "fl" (field list) param
|
138
|
+
tells Solr which fields to include in the documents in the response ...
|
139
|
+
and these are the fields rendered in the Blacklight default views.
|
140
|
+
Thus, the fields you want rendered must be specified in "fl". Note that
|
141
|
+
only "stored" fields will be available; if you want a field to be rendered
|
142
|
+
in the result, it must be "stored" per the field definition in schema.xml.
|
143
|
+
|
144
|
+
The "fl" parameter definition in the "search" handler looks like this:
|
145
|
+
```xml
|
146
|
+
<str name="fl">id,score,author_display,(....lots of other fields)</str>
|
147
|
+
```
|
148
|
+
You may also use an asterisk plus "score":
|
149
|
+
```xml
|
150
|
+
<str name="fl">*,score</str>
|
151
|
+
```
|
152
|
+
|
153
|
+
######How the facet params work in Blacklight's request handlers
|
154
|
+
|
155
|
+
In the search results view, Blacklight will look into the Solr response for
|
156
|
+
facets. If you specify any facet.field params in your "search" handler,
|
157
|
+
they will automatically get displayed in the facets list:
|
158
|
+
```xml
|
159
|
+
<str name="facet.field">format</str>
|
160
|
+
<str name="facet.field">language_facet</str>
|
161
|
+
```
|
162
|
+
|
163
|
+
|
164
|
+
#####Blacklight's "search" request handler: for search results
|
165
|
+
|
166
|
+
When Blacklight displays a list of search results, it uses a Solr request
|
167
|
+
handler named "search." Thus, the field list (fl param) for the "search"
|
168
|
+
request handler should be tailored to what will be displayed in a search
|
169
|
+
results page. Generally, this will not include fields containing a large
|
170
|
+
quantity of text. The facet param should contain the facets to be
|
171
|
+
displayed with the search results.
|
172
|
+
```xml
|
173
|
+
|
174
|
+
<requestHandler name="search" class="solr.SearchHandler" >
|
175
|
+
<lst name="defaults">
|
176
|
+
<str name="defType">dismax</str>
|
177
|
+
<str name="echoParams">explicit</str>
|
178
|
+
<!-- list fields to be returned in the "fl" param -->
|
179
|
+
<str name="fl">*,score</str>
|
180
|
+
|
181
|
+
<str name="facet">on</str>
|
182
|
+
<str name="facet.mincount">1</str>
|
183
|
+
<str name="facet.limit">10</str>
|
184
|
+
|
185
|
+
<!-- list fields to be displayed as facets here. -->
|
186
|
+
<str name="facet.field">format</str>
|
187
|
+
<str name="facet.field">language_facet</str>
|
188
|
+
|
189
|
+
<str name="q.alt">*:*</str>
|
190
|
+
</lst>
|
191
|
+
</requestHandler>
|
192
|
+
```
|
193
|
+
|
194
|
+
#####Blacklight's "document" request handler: for a single record
|
195
|
+
|
196
|
+
When Blacklight displays a single record it uses a Solr request handler
|
197
|
+
named "document". The "document" handler doesn't necessarily need to be
|
198
|
+
different than the "search" handler, but it can be used to control which
|
199
|
+
fields are available to display a single document. In the example below,
|
200
|
+
there is no faceting set (facets are not displayed with a single record)
|
201
|
+
and the "rows" param is set to 1 (since there will only be a single record).
|
202
|
+
Also, the field list ("fl" param) could include fields containing large
|
203
|
+
text values if they are desired for record display. Is is acceptable to
|
204
|
+
include large amounts of data, because this handler should only be used
|
205
|
+
to query for one document:
|
206
|
+
|
207
|
+
<requestHandler name="document" class="solr.SearchHandler">
|
208
|
+
<lst name="defaults">
|
209
|
+
<str name="echoParams">explicit</str>
|
210
|
+
<str name="fl">*</str>
|
211
|
+
<str name="rows">1</str>
|
212
|
+
<str name="q">{!raw f=id v=$id}</str>
|
213
|
+
<!-- use id=blah instead of q=id:blah -->
|
214
|
+
</lst>
|
215
|
+
</requestHandler>
|
216
|
+
|
217
|
+
A Solr query for a single record might look like this:
|
218
|
+
http://(yourSolrBaseUrl)/solr/select?id=my_doc_id&qt=document
|
219
|
+
|
220
|
+
|
221
|
+
####Blacklight Solr Schema and Solrconfig File Templates
|
222
|
+
|
223
|
+
Blacklight provides schema.xml and solrconfig.xml files as starting points:
|
224
|
+
|
225
|
+
https://github.com/projectblacklight/blacklight-jetty/blob/master/solr/conf/schema.xml
|
226
|
+
|
227
|
+
https://github.com/projectblacklight/blacklight-jetty/blob/master/solr/conf/solrconfig.xml
|
228
|
+
|
229
|
+
#SolrMARC: from Marc data to Solr documents
|
230
|
+
|
231
|
+
The SolrMARC project is designed to create a Solr index from raw MARC data.
|
232
|
+
It can be configured easily and used with the basic parsing and indexing
|
233
|
+
supplied. It is also readily customized for a site's unique requirements.
|
234
|
+
|
235
|
+
The project software and documentation is available at [[http://code.google.com/p/solrmarc]]
|
236
|
+
|
237
|
+
Blacklight comes with an embedded SolrMarc, with some default config that matches the default Blacklight setup, and provides some rake tasks to easily index docs with SolrMarc according to your app's environment. There is no need to manually install/configure SolrMarc yourself. From your application's home directory simply run:
|
238
|
+
```bash
|
239
|
+
rake solr:marc:index:info
|
240
|
+
```
|
241
|
+
to see options. Run `rake solr:marc:index` to actually do indexing. Like all rake tasks, by default this will use your 'development' environment; add "RAILS_ENV=production" to instead index to the solr you've labelled production in your config/solr.yml file.
|
242
|
+
|
243
|
+
The solrmarc config files are in your app's config/SolrMarc directory, you can edit them there for local config.
|
244
|
+
|
245
|
+
If you'd like to use a different or more recent version of SolrMarc.jar, you can put it in your app at ./solr_marc/SolrMarc.jar, and the built-in rake tasks will use your local SolrMarc.jar instead of the one bundled with Blacklight.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
This is for upgrade guides for each version.
|
2
|
+
* [[Blacklight 3.8 Release Notes And Upgrade Guide]] (Nov 2, 2012)
|
3
|
+
* [[Blacklight 3.7 Release Notes And Upgrade Guide]] (Sep 25, 2012)
|
4
|
+
* [[Blacklight 3.6 Release Notes And Upgrade Guide]] (Sep 10, 2012)
|
5
|
+
* [[Blacklight 3.5 Release Notes And Upgrade Guide]] (Jun 25, 2012)
|
6
|
+
* [[Blacklight 3.4 Release Notes And Upgrade Guide]] (Apr 24, 2012)
|
7
|
+
* [[Blacklight 3.3 Release Notes And Upgrade Guide]] (Mar 19, 2012)
|
8
|
+
* [[Blacklight 3.2 Release Notes And Upgrade Guide]] (Dec 15, 2011)
|
9
|
+
* [[Blacklight 3.1 Release Notes And Upgrade Guide]] (Sep 28, 2011)
|
10
|
+
* [[Blacklight 3.0 Release Notes And Upgrade Guide]] (July 11, 2011)
|
11
|
+
|
12
|
+
Unreleased
|
13
|
+
|
14
|
+
* [[Blacklight 4.x Release Notes And Upgrade Guide]] (Nov X, 2012)
|