Spliced searches to separate call to handle limit issue (only usable for one query/request).
This commit is contained in:
parent
96fd35d1dd
commit
80a9fd5dab
2 changed files with 20 additions and 7 deletions
|
@ -29,7 +29,7 @@
|
||||||
* rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov', '.bin', '.exe', '.box', '.mbox' ] )"
|
* rails r "Setting.set('es_attachment_ignore', [ '.png', '.jpg', '.jpeg', '.mpeg', '.mpg', '.mov', '.bin', '.exe', '.box', '.mbox' ] )"
|
||||||
|
|
||||||
# optional - max attachment size which is used by es, default is 50 mb
|
# optional - max attachment size which is used by es, default is 50 mb
|
||||||
* rails r "Setting.set('es_attachment_max_size_in_mb', 50 )"
|
* rails r "Setting.set('es_attachment_max_size_in_mb', 50)"
|
||||||
|
|
||||||
|
|
||||||
* Create elastic search indexes
|
* Create elastic search indexes
|
||||||
|
|
|
@ -59,7 +59,7 @@ create/update/delete index
|
||||||
)
|
)
|
||||||
Rails.logger.info "# #{response.code}"
|
Rails.logger.info "# #{response.code}"
|
||||||
return true if response.success?
|
return true if response.success?
|
||||||
raise response.inspect
|
raise "Unable to proccess PUT at #{url}\n#{response.inspect}"
|
||||||
end
|
end
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
@ -91,7 +91,7 @@ add new object to search index
|
||||||
)
|
)
|
||||||
Rails.logger.info "# #{response.code}"
|
Rails.logger.info "# #{response.code}"
|
||||||
return true if response.success?
|
return true if response.success?
|
||||||
raise response.inspect
|
raise "Unable to proccess POST at #{url} (size: #{data.to_json.bytesize / 1024 / 1024}M)\n#{response.inspect}"
|
||||||
end
|
end
|
||||||
|
|
||||||
=begin
|
=begin
|
||||||
|
@ -121,7 +121,7 @@ remove whole data from index
|
||||||
)
|
)
|
||||||
Rails.logger.info "# #{response.code}"
|
Rails.logger.info "# #{response.code}"
|
||||||
return true if response.success?
|
return true if response.success?
|
||||||
#Rails.logger.info "NOTICE: can't drop index: " + response.inspect
|
#Rails.logger.info "NOTICE: can't delete index #{url}: " + response.inspect
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -152,6 +152,19 @@ return search result
|
||||||
|
|
||||||
def self.search(query, limit = 10, index = nil, query_extention = {})
|
def self.search(query, limit = 10, index = nil, query_extention = {})
|
||||||
return [] if !query
|
return [] if !query
|
||||||
|
if index.class == Array
|
||||||
|
ids = []
|
||||||
|
index.each { |local_index|
|
||||||
|
local_ids = search_by_index(query, limit, local_index, query_extention)
|
||||||
|
ids = ids.concat(local_ids)
|
||||||
|
}
|
||||||
|
return ids
|
||||||
|
end
|
||||||
|
search_by_index(query, limit, index, query_extention)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.search_by_index(query, limit = 10, index = nil, query_extention = {})
|
||||||
|
return [] if !query
|
||||||
|
|
||||||
url = build_url()
|
url = build_url()
|
||||||
return if !url
|
return if !url
|
||||||
|
@ -215,7 +228,7 @@ return search result
|
||||||
|
|
||||||
Rails.logger.info "# #{response.code}"
|
Rails.logger.info "# #{response.code}"
|
||||||
if !response.success?
|
if !response.success?
|
||||||
Rails.logger.error "ERROR: #{response.inspect}"
|
Rails.logger.error "ERROR: POST on #{url}\n#{response.inspect}"
|
||||||
return []
|
return []
|
||||||
end
|
end
|
||||||
data = response.data
|
data = response.data
|
||||||
|
@ -308,7 +321,7 @@ get count of tickets and tickets which match on selector
|
||||||
|
|
||||||
Rails.logger.info "# #{response.code}"
|
Rails.logger.info "# #{response.code}"
|
||||||
if !response.success?
|
if !response.success?
|
||||||
raise "ERROR: #{response.inspect}"
|
raise "Unable to proccess POST at #{url}\n#{response.inspect}"
|
||||||
end
|
end
|
||||||
Rails.logger.debug response.data.to_json
|
Rails.logger.debug response.data.to_json
|
||||||
|
|
||||||
|
@ -447,7 +460,7 @@ return true if backend is configured
|
||||||
|
|
||||||
def self.build_url(type = nil, o_id = nil)
|
def self.build_url(type = nil, o_id = nil)
|
||||||
return if !SearchIndexBackend.enabled?
|
return if !SearchIndexBackend.enabled?
|
||||||
index = Setting.get('es_index').to_s + "_#{Rails.env}"
|
index = "#{Setting.get('es_index')}_#{Rails.env}"
|
||||||
url = Setting.get('es_url')
|
url = Setting.get('es_url')
|
||||||
url = if type
|
url = if type
|
||||||
if o_id
|
if o_id
|
||||||
|
|
Loading…
Reference in a new issue