matthewrudy / solr_query
- Source
- Commits
- Network (0)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Tree:
49fd3f1
commit 49fd3f135bd3baffa141f8bec032ccb45544eee9
tree cd987549df0611602451d6487fd46c3b19ccfa17
parent 8fd5d9538823ffdc9f8b10af4524943c88c6b53e parent 7f891ebf865461889f372d5c1ffeedbeb4151f3e
tree cd987549df0611602451d6487fd46c3b19ccfa17
parent 8fd5d9538823ffdc9f8b10af4524943c88c6b53e parent 7f891ebf865461889f372d5c1ffeedbeb4151f3e
| name | age | message | |
|---|---|---|---|
| |
MIT-LICENSE | Mon Nov 17 06:18:15 -0800 2008 | |
| |
README | Mon Nov 17 13:28:11 -0800 2008 | |
| |
Rakefile | Mon Nov 17 06:18:15 -0800 2008 | |
| |
lib/ | Fri Feb 13 05:47:52 -0800 2009 | |
| |
spec/ | Mon Nov 17 06:49:33 -0800 2008 |
README
SolrQuery
=========
SolrQuery is a ruby library designed to make building nested Solr queries simple and standardized.
It does everything for you,
it deals with escaping characters,
matching ActiveRecord objects by id.
It'll take an array of strings,
an array of ActiveRecords.
Give it a Hash or a Range, and it'll sort out lucene range queries for you!
Example
=======
build a query for solr;
SolrQuery.build(:keyword => "Feather duster")
#=> "feather duster"
SolrQuery.build(:keyword => "clean", :organisation => [organisation1, organisation2])
#=> "clean AND organisation:(275 OR 6534)"
SolrQuery.build(:colour => ["red", "pink"], :item_type => ["Toy", "Train"])
#=> "colour:(red OR pink) AND item_type:(Toy OR Train)"
or you can specify a different magical key for keyword;
SolrQuery.build({:keyword => "old one", :new_keyword => "new one"}, :new_keyword)
#=> "new one AND keyword:(old one)"
if you need to do range queries;
SolrQuery.build(:salary => {:min => "010000", :max => "050000"})
#=> "salary:([010000 TO 050000])"
SolrQuery.build(:salary => "010000".."050000")
#=> "salary:([010000 TO 050000])"
SolrQuery.build(:surname => {:min => "jacobs")
#=> "surname:([jacobs TO *])"
Copyright (c) 2008 [Matthew Rudy Jacobs], released under the MIT license
