3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/gsa/searcher.rb', line 3
def self.search(query, args={})
query = clean_query(query)
filter = args[:filter] || GSA::DEFAULT_FILTER
getfields = args[:getfields] || GSA::DEFAULT_GETFIELDS
sort = args[:sort] || GSA::DEFAULT_SORT
num = args[:num] || GSA::DEFAULT_NUM
output = args[:output] || GSA::DEFAULT_OUTPUT
start = args[:start] || GSA::DEFAULT_START
client = args[:client] || GSA::DEFAULT_CLIENT
site = args[:collection] || GSA::DEFAULT_COLLECTION
requiredfields = args[:filters] || nil
search = "#{GSA.base_uri}/search?q=#{query}&filter=#{filter}&site=#{site}&getfields=#{getfields}&sort=#{sort}&num=#{num}&start=#{start}&output=#{output}&client=#{client}"
search = "#{search}&requiredfields=#{clean_query(requiredfields)}" if requiredfields
search_results = parsed_json( RestClient.get(search) )
results_found?(search_results) ? search_results : GSA::NO_RESULTS
end
|