search_index_backend.rb 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. # Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
  2. class SearchIndexBackend
  3. @@index = "zammad_#{Rails.env}"
  4. @@url = 'http://127.0.0.1:9000'
  5. @@user = 'elasticsearch'
  6. @@pw = 'zammad'
  7. =begin
  8. add new object to search index
  9. SearchIndexBackend.add( 'Ticket', some_data_object )
  10. =end
  11. def self.add(type, data)
  12. url = "#{@@url}/#{@@index}/#{type}/#{data[:id]}"
  13. puts "# curl -X POST \"#{url}\" -d '#{data.to_json}'"
  14. conn = Faraday.new( :url => url )
  15. if @@user && @@pw
  16. conn.basic_auth( @@user, @@pw )
  17. end
  18. response = conn.post do |req|
  19. req.url url
  20. req.headers['Content-Type'] = 'application/json'
  21. req.body = data.to_json
  22. end
  23. # puts response.body.to_s
  24. puts "# #{response.status.to_s}"
  25. return true if response.success?
  26. data = JSON.parse( response.body )
  27. return { :data => data, :response => response }
  28. end
  29. =begin
  30. remove whole data from index
  31. SearchIndexBackend.remove( 'Ticket', 123 )
  32. SearchIndexBackend.remove( 'Ticket' )
  33. =end
  34. def self.remove( type, o_id = nil )
  35. if o_id
  36. url = "#{@@url}/#{@@index}/#{type}/#{o_id}"
  37. else
  38. url = "#{@@url}/#{@@index}/#{type}"
  39. end
  40. puts "# curl -X DELETE \"#{url}\""
  41. conn = Faraday.new( :url => url )
  42. if @@user && @@pw
  43. conn.basic_auth( @@user, @@pw )
  44. end
  45. response = conn.delete url
  46. # puts response.body.to_s
  47. puts "# #{response.status.to_s}"
  48. return true if response.success?
  49. data = JSON.parse( response.body )
  50. return { :data => data, :response => response }
  51. end
  52. =begin
  53. return all activity entries of an user
  54. result = SearchIndexBackend.search( user )
  55. =end
  56. def self.search(user,limit)
  57. end
  58. end