{"action":"created","issue":{"url":"https://api.github.com/repos/translate/pootle/issues/4291","labels_url":"https://api.github.com/repos/translate/pootle/issues/4291/labels{/name}","comments_url":"https://api.github.com/repos/translate/pootle/issues/4291/comments","events_url":"https://api.github.com/repos/translate/pootle/issues/4291/events","html_url":"https://github.com/translate/pootle/issues/4291","id":122062208,"number":4291,"title":"Add ElasticSearch indexing for Units","user":{"login":"phlax","id":454682,"avatar_url":"https://avatars.githubusercontent.com/u/454682?v=3","gravatar_id":"","url":"https://api.github.com/users/phlax","html_url":"https://github.com/phlax","followers_url":"https://api.github.com/users/phlax/followers","following_url":"https://api.github.com/users/phlax/following{/other_user}","gists_url":"https://api.github.com/users/phlax/gists{/gist_id}","starred_url":"https://api.github.com/users/phlax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phlax/subscriptions","organizations_url":"https://api.github.com/users/phlax/orgs","repos_url":"https://api.github.com/users/phlax/repos","events_url":"https://api.github.com/users/phlax/events{/privacy}","received_events_url":"https://api.github.com/users/phlax/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"phlax","id":454682,"avatar_url":"https://avatars.githubusercontent.com/u/454682?v=3","gravatar_id":"","url":"https://api.github.com/users/phlax","html_url":"https://github.com/phlax","followers_url":"https://api.github.com/users/phlax/followers","following_url":"https://api.github.com/users/phlax/following{/other_user}","gists_url":"https://api.github.com/users/phlax/gists{/gist_id}","starred_url":"https://api.github.com/users/phlax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phlax/subscriptions","organizations_url":"https://api.github.com/users/phlax/orgs","repos_url":"https://api.github.com/users/phlax/repos","events_url":"https://api.github.com/users/phlax/events{/privacy}","received_events_url":"https://api.github.com/users/phlax/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/translate/pootle/milestones/25","html_url":"https://github.com/translate/pootle/milestones/2.7.3-final","labels_url":"https://api.github.com/repos/translate/pootle/milestones/25/labels","id":1436949,"number":25,"title":"2.7.3-final","description":"","creator":{"login":"phlax","id":454682,"avatar_url":"https://avatars.githubusercontent.com/u/454682?v=3","gravatar_id":"","url":"https://api.github.com/users/phlax","html_url":"https://github.com/phlax","followers_url":"https://api.github.com/users/phlax/followers","following_url":"https://api.github.com/users/phlax/following{/other_user}","gists_url":"https://api.github.com/users/phlax/gists{/gist_id}","starred_url":"https://api.github.com/users/phlax/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phlax/subscriptions","organizations_url":"https://api.github.com/users/phlax/orgs","repos_url":"https://api.github.com/users/phlax/repos","events_url":"https://api.github.com/users/phlax/events{/privacy}","received_events_url":"https://api.github.com/users/phlax/received_events","type":"User","site_admin":false},"open_issues":12,"closed_issues":21,"state":"open","created_at":"2015-12-01T09:07:40Z","updated_at":"2015-12-15T10:44:27Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-12-14T15:13:43Z","updated_at":"2015-12-15T12:32:17Z","closed_at":null,"body":"We could drastically improve performance, and remove the need to denormalize fields if we maintained indexes on objects - particularly Units\r\n\r\nConsiderations:\r\n- make backend configurable - ie choice of backends or db for search?\r\n- make ES a hard dependency?\r\n"},"comment":{"url":"https://api.github.com/repos/translate/pootle/issues/comments/164750435","html_url":"https://github.com/translate/pootle/issues/4291#issuecomment-164750435","issue_url":"https://api.github.com/repos/translate/pootle/issues/4291","id":164750435,"user":{"login":"julen","id":16768,"avatar_url":"https://avatars.githubusercontent.com/u/16768?v=3","gravatar_id":"","url":"https://api.github.com/users/julen","html_url":"https://github.com/julen","followers_url":"https://api.github.com/users/julen/followers","following_url":"https://api.github.com/users/julen/following{/other_user}","gists_url":"https://api.github.com/users/julen/gists{/gist_id}","starred_url":"https://api.github.com/users/julen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julen/subscriptions","organizations_url":"https://api.github.com/users/julen/orgs","repos_url":"https://api.github.com/users/julen/repos","events_url":"https://api.github.com/users/julen/events{/privacy}","received_events_url":"https://api.github.com/users/julen/received_events","type":"User","site_admin":false},"created_at":"2015-12-15T12:32:17Z","updated_at":"2015-12-15T12:32:17Z","body":"From @translate/evernote's side there's no problem to make ES a hard dependency — we already make heavy use of it for the TM. So I see this more like a product-wise decision for those who need to support upgrades.\r\n\r\nWe also quickly [discussed this on IRC](https://botbot.me/freenode/pootle-dev/2015-12-15/?msg=56172551&page=1) with @phlax and some questions arose, such as:\r\n\r\n1. Can feature-parity be achieved, including exact search?\r\n2. Would search be broken while the index is being rebuilt?\r\n\r\nThe first answer seems like a yes — it'd be great if you could confirm @phlax.\r\n\r\nRegarding the second one, there's a concern if search (UI- and internal API-wise) would be broken when (re)indexing takes place. There might also exist some delay in the availability of the information in the index with respect to the DB. So it seems like the safest approach is ensuring search works independently of having an index. Should haystack be the best fit for this, I'd be :+1: to require it."}}