{"action":"created","issue":{"url":"https://api.github.com/repos/trackpete/exiletools-indexer/issues/124","repository_url":"https://api.github.com/repos/trackpete/exiletools-indexer","labels_url":"https://api.github.com/repos/trackpete/exiletools-indexer/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/trackpete/exiletools-indexer/issues/124/comments","events_url":"https://api.github.com/repos/trackpete/exiletools-indexer/issues/124/events","html_url":"https://github.com/trackpete/exiletools-indexer/issues/124","id":142888425,"number":124,"title":"Add a lookup reference index containing online players","user":{"login":"thirdy","id":75921,"avatar_url":"https://avatars.githubusercontent.com/u/75921?v=3","gravatar_id":"","url":"https://api.github.com/users/thirdy","html_url":"https://github.com/thirdy","followers_url":"https://api.github.com/users/thirdy/followers","following_url":"https://api.github.com/users/thirdy/following{/other_user}","gists_url":"https://api.github.com/users/thirdy/gists{/gist_id}","starred_url":"https://api.github.com/users/thirdy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thirdy/subscriptions","organizations_url":"https://api.github.com/users/thirdy/orgs","repos_url":"https://api.github.com/users/thirdy/repos","events_url":"https://api.github.com/users/thirdy/events{/privacy}","received_events_url":"https://api.github.com/users/thirdy/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-03-23T07:46:31Z","updated_at":"2016-03-23T14:48:59Z","closed_at":"2016-03-23T14:48:59Z","body":"Based on this documentation:\r\n\r\nhttps://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html\r\n\r\nand this forum post:\r\n\r\nhttps://discuss.elastic.co/t/array-size-inside-of-terms-query-cannot-exceed-1000-indices/12945\r\n\r\nIt should be possible to use a `terms lookup` for `shop.sellerAccount` against a large list of account names stored in a separate type/index. I think it's a good solution for filtering online only players and I have a gut feeling that this would be a good fit to the yet to be released GGG's player api.\r\n\r\nI'd be glad to help out on implementing this in anyway I can."},"comment":{"url":"https://api.github.com/repos/trackpete/exiletools-indexer/issues/comments/200376828","html_url":"https://github.com/trackpete/exiletools-indexer/issues/124#issuecomment-200376828","issue_url":"https://api.github.com/repos/trackpete/exiletools-indexer/issues/124","id":200376828,"user":{"login":"trackpete","id":8779751,"avatar_url":"https://avatars.githubusercontent.com/u/8779751?v=3","gravatar_id":"","url":"https://api.github.com/users/trackpete","html_url":"https://github.com/trackpete","followers_url":"https://api.github.com/users/trackpete/followers","following_url":"https://api.github.com/users/trackpete/following{/other_user}","gists_url":"https://api.github.com/users/trackpete/gists{/gist_id}","starred_url":"https://api.github.com/users/trackpete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trackpete/subscriptions","organizations_url":"https://api.github.com/users/trackpete/orgs","repos_url":"https://api.github.com/users/trackpete/repos","events_url":"https://api.github.com/users/trackpete/events{/privacy}","received_events_url":"https://api.github.com/users/trackpete/received_events","type":"User","site_admin":false},"created_at":"2016-03-23T14:48:59Z","updated_at":"2016-03-23T14:48:59Z","body":"By my understanding, this isn't the way it's going to work.\r\n\r\nFrom a previous comment:\r\n\r\n```I would stick with filtering the results client side (not adjusting queries to the index) because that's how the official API will most likely work. You will request say 200 items then hit the official API to see which of those sellers are on-line and then filter the results to only display the 50 items from on-line sellers (and can perform a scroll or similar query to get more results, then filter those).```\r\n\r\nThe information I have on the official API is that it will work similar to the way the account status queries work on the exiletools ladder API. Breaking this down in more detail, here's how it should work with the ExileTools Index:\r\n\r\n1. You perform a query against the ExileTools index and receive a list of matching items.\r\n2. You parse this to create a list of `shop.sellerAccount` account names\r\n3. You send this list as a query to GGG's On-line Status API\r\n4. GGG's API returns that list telling you the on-line status for each account in that list\r\n5. You filter the results to show only the items from the accounts which returned as on-line\r\n\r\nYou will NOT have access to a list of accounts that are on-line. You MUST give it an account name and ask if it's on-line. All of the processing of on-line/off-line will be client side, and the index will never reflect or include on-line status.\r\n\r\nIt's the same way it'd work doing it against the ExileTools Ladder API in list form:\r\n\r\n1. Perform a query, get back items from `Deadmad` `magshen` and `xoffan`\r\n2. Check their online status http://api.exiletools.com/ladder?league=perandus&accountName=Deadmad:magshen:xoffan\r\n3. Filter results\r\n\r\nAgain, the index will never know and you'll never have a complete list of on-line players. GGG won't release that information for privacy reasons. "}}