{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":1949,"title":"Get top 5 Cody Player Emails Automatically","description":"Yes, this is a little scary and also entirely possible to do in MATLAB, so let's do it!\r\n\r\nLooking at the list of the players \u003chttp://www.mathworks.com/matlabcentral/cody/players\u003e automatically sorts them in order according to rank. For times sake, let's say we only want to get the emails from the first 5 people. This is relatively easy to do by hand, just click on the persons name, click on \"View Profile Information\" and you have the email but if you wanted to do say the first 1,000 people instead, that would be not very fun to do by hand. \r\n\r\nFor this program, let's say we want the top 5 profiles that give a \"real\" email address (not a contact form) to be in a cell array. This means that if one of the top 5 people have removed their email address, your returned cell array will have less than 5 emails in it. \r\n\r\nIf you are not sure where to start, check out the urlread command, it allows you to put the web page source code into a string. From there, you are able to parse through that to get the URLs for the top 5 players web profile. From there, look for a \"mailto:\" and if it is there, the email address is immediately following it. If the string \"mailto:\" does not exist, there is no email address on that webpage. Put the emails in a cell array when you find them and you are good to go!\r\n\r\nAs an example, I have poorly written MATLAB code that works in the test case since I want the test case to always be accurate. 98% of the execution time is spent reading the webpages, and at least on my computer, that takes quite a while to do (about 2.5 seconds per profile page).\r\n\r\n*I am definitely not collecting emails for anything, and you should not either! This is designed solely as a learning example and should in no way be used for anything unethical. All information obtained here is easily obtained by anyone in the world who knows how to program.*\r\n\r\n*If this scares you and you want to remove your email address from your profile, it's easy. All you have to do is click \"My Community Profile\" (underneath the search bar at very top of screen) and then edit your preferences to not display your email address.* ","description_html":"\u003cp\u003eYes, this is a little scary and also entirely possible to do in MATLAB, so let's do it!\u003c/p\u003e\u003cp\u003eLooking at the list of the players \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/players\"\u003ehttp://www.mathworks.com/matlabcentral/cody/players\u003c/a\u003e automatically sorts them in order according to rank. For times sake, let's say we only want to get the emails from the first 5 people. This is relatively easy to do by hand, just click on the persons name, click on \"View Profile Information\" and you have the email but if you wanted to do say the first 1,000 people instead, that would be not very fun to do by hand.\u003c/p\u003e\u003cp\u003eFor this program, let's say we want the top 5 profiles that give a \"real\" email address (not a contact form) to be in a cell array. This means that if one of the top 5 people have removed their email address, your returned cell array will have less than 5 emails in it.\u003c/p\u003e\u003cp\u003eIf you are not sure where to start, check out the urlread command, it allows you to put the web page source code into a string. From there, you are able to parse through that to get the URLs for the top 5 players web profile. From there, look for a \"mailto:\" and if it is there, the email address is immediately following it. If the string \"mailto:\" does not exist, there is no email address on that webpage. Put the emails in a cell array when you find them and you are good to go!\u003c/p\u003e\u003cp\u003eAs an example, I have poorly written MATLAB code that works in the test case since I want the test case to always be accurate. 98% of the execution time is spent reading the webpages, and at least on my computer, that takes quite a while to do (about 2.5 seconds per profile page).\u003c/p\u003e\u003cp\u003e\u003cb\u003eI am definitely not collecting emails for anything, and you should not either! This is designed solely as a learning example and should in no way be used for anything unethical. All information obtained here is easily obtained by anyone in the world who knows how to program.\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eIf this scares you and you want to remove your email address from your profile, it's easy. All you have to do is click \"My Community Profile\" (underneath the search bar at very top of screen) and then edit your preferences to not display your email address.\u003c/b\u003e\u003c/p\u003e","function_template":"function emails = getCodyEmails()\r\n  emails = {};\r\nend","test_suite":"%%\r\n% My code is below, it's used to generate the expected result.\r\n\r\n%Read in the player page\r\nplayerPage=urlread('http://www.mathworks.com/matlabcentral/cody/players');\r\n\r\n%Find where the web address for each profile starts\r\nstartIdx=strfind(playerPage,'\u003cdiv class=\"grid_53 push_3\"\u003e')+104; \r\n\r\n%Initialize output array\r\nemails={};\r\n\r\n%Get top 5 only\r\nfor i=1:5\r\n    % Get the profile page link\r\n   tempStr=playerPage(startIdx(i):startIdx(i)+100);\r\n   quoteIdx=strfind(tempStr,'\"')-1;\r\n   profilePageLink=['http://www.mathworks.com' tempStr(1:quoteIdx(1))];\r\n   \r\n   profilePage=urlread(profilePageLink);\r\n   % Try and find mailto link\r\n   tStartIdx=strfind(profilePage,'mailto');\r\n   \r\n   %If you could find it\r\n   if ~isempty(tStartIdx)\r\n       % Get the email\r\n       tEndIdx=strfind(profilePage(tStartIdx:tStartIdx+100),'\"')+tStartIdx;\r\n       \r\n       % Add it to our cell array\r\n       emails{length(emails)+1}=profilePage(tStartIdx+7:tEndIdx-2);\r\n   end\r\n    \r\nend\r\n\r\n\r\ntic\r\nyourResponse=getCodyEmails()\r\ntimeElapsed=toc\r\n\r\n\r\nassert(isequal(yourResponse,emails))\r\nassert(isequal(1,timeElapsed\u003e3))","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3743,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-20T05:40:10.000Z","updated_at":"2025-07-31T17:14:24.000Z","published_at":"2013-10-20T05:40:10.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYes, this is a little scary and also entirely possible to do in MATLAB, so let's do it!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLooking at the list of the players\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/players\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehttp://www.mathworks.com/matlabcentral/cody/players\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e automatically sorts them in order according to rank. For times sake, let's say we only want to get the emails from the first 5 people. This is relatively easy to do by hand, just click on the persons name, click on \\\"View Profile Information\\\" and you have the email but if you wanted to do say the first 1,000 people instead, that would be not very fun to do by hand.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor this program, let's say we want the top 5 profiles that give a \\\"real\\\" email address (not a contact form) to be in a cell array. This means that if one of the top 5 people have removed their email address, your returned cell array will have less than 5 emails in it.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf you are not sure where to start, check out the urlread command, it allows you to put the web page source code into a string. From there, you are able to parse through that to get the URLs for the top 5 players web profile. From there, look for a \\\"mailto:\\\" and if it is there, the email address is immediately following it. If the string \\\"mailto:\\\" does not exist, there is no email address on that webpage. Put the emails in a cell array when you find them and you are good to go!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs an example, I have poorly written MATLAB code that works in the test case since I want the test case to always be accurate. 98% of the execution time is spent reading the webpages, and at least on my computer, that takes quite a while to do (about 2.5 seconds per profile page).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eI am definitely not collecting emails for anything, and you should not either! This is designed solely as a learning example and should in no way be used for anything unethical. All information obtained here is easily obtained by anyone in the world who knows how to program.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eIf this scares you and you want to remove your email address from your profile, it's easy. All you have to do is click \\\"My Community Profile\\\" (underneath the search bar at very top of screen) and then edit your preferences to not display your email address.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":1949,"title":"Get top 5 Cody Player Emails Automatically","description":"Yes, this is a little scary and also entirely possible to do in MATLAB, so let's do it!\r\n\r\nLooking at the list of the players \u003chttp://www.mathworks.com/matlabcentral/cody/players\u003e automatically sorts them in order according to rank. For times sake, let's say we only want to get the emails from the first 5 people. This is relatively easy to do by hand, just click on the persons name, click on \"View Profile Information\" and you have the email but if you wanted to do say the first 1,000 people instead, that would be not very fun to do by hand. \r\n\r\nFor this program, let's say we want the top 5 profiles that give a \"real\" email address (not a contact form) to be in a cell array. This means that if one of the top 5 people have removed their email address, your returned cell array will have less than 5 emails in it. \r\n\r\nIf you are not sure where to start, check out the urlread command, it allows you to put the web page source code into a string. From there, you are able to parse through that to get the URLs for the top 5 players web profile. From there, look for a \"mailto:\" and if it is there, the email address is immediately following it. If the string \"mailto:\" does not exist, there is no email address on that webpage. Put the emails in a cell array when you find them and you are good to go!\r\n\r\nAs an example, I have poorly written MATLAB code that works in the test case since I want the test case to always be accurate. 98% of the execution time is spent reading the webpages, and at least on my computer, that takes quite a while to do (about 2.5 seconds per profile page).\r\n\r\n*I am definitely not collecting emails for anything, and you should not either! This is designed solely as a learning example and should in no way be used for anything unethical. All information obtained here is easily obtained by anyone in the world who knows how to program.*\r\n\r\n*If this scares you and you want to remove your email address from your profile, it's easy. All you have to do is click \"My Community Profile\" (underneath the search bar at very top of screen) and then edit your preferences to not display your email address.* ","description_html":"\u003cp\u003eYes, this is a little scary and also entirely possible to do in MATLAB, so let's do it!\u003c/p\u003e\u003cp\u003eLooking at the list of the players \u003ca href = \"http://www.mathworks.com/matlabcentral/cody/players\"\u003ehttp://www.mathworks.com/matlabcentral/cody/players\u003c/a\u003e automatically sorts them in order according to rank. For times sake, let's say we only want to get the emails from the first 5 people. This is relatively easy to do by hand, just click on the persons name, click on \"View Profile Information\" and you have the email but if you wanted to do say the first 1,000 people instead, that would be not very fun to do by hand.\u003c/p\u003e\u003cp\u003eFor this program, let's say we want the top 5 profiles that give a \"real\" email address (not a contact form) to be in a cell array. This means that if one of the top 5 people have removed their email address, your returned cell array will have less than 5 emails in it.\u003c/p\u003e\u003cp\u003eIf you are not sure where to start, check out the urlread command, it allows you to put the web page source code into a string. From there, you are able to parse through that to get the URLs for the top 5 players web profile. From there, look for a \"mailto:\" and if it is there, the email address is immediately following it. If the string \"mailto:\" does not exist, there is no email address on that webpage. Put the emails in a cell array when you find them and you are good to go!\u003c/p\u003e\u003cp\u003eAs an example, I have poorly written MATLAB code that works in the test case since I want the test case to always be accurate. 98% of the execution time is spent reading the webpages, and at least on my computer, that takes quite a while to do (about 2.5 seconds per profile page).\u003c/p\u003e\u003cp\u003e\u003cb\u003eI am definitely not collecting emails for anything, and you should not either! This is designed solely as a learning example and should in no way be used for anything unethical. All information obtained here is easily obtained by anyone in the world who knows how to program.\u003c/b\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003eIf this scares you and you want to remove your email address from your profile, it's easy. All you have to do is click \"My Community Profile\" (underneath the search bar at very top of screen) and then edit your preferences to not display your email address.\u003c/b\u003e\u003c/p\u003e","function_template":"function emails = getCodyEmails()\r\n  emails = {};\r\nend","test_suite":"%%\r\n% My code is below, it's used to generate the expected result.\r\n\r\n%Read in the player page\r\nplayerPage=urlread('http://www.mathworks.com/matlabcentral/cody/players');\r\n\r\n%Find where the web address for each profile starts\r\nstartIdx=strfind(playerPage,'\u003cdiv class=\"grid_53 push_3\"\u003e')+104; \r\n\r\n%Initialize output array\r\nemails={};\r\n\r\n%Get top 5 only\r\nfor i=1:5\r\n    % Get the profile page link\r\n   tempStr=playerPage(startIdx(i):startIdx(i)+100);\r\n   quoteIdx=strfind(tempStr,'\"')-1;\r\n   profilePageLink=['http://www.mathworks.com' tempStr(1:quoteIdx(1))];\r\n   \r\n   profilePage=urlread(profilePageLink);\r\n   % Try and find mailto link\r\n   tStartIdx=strfind(profilePage,'mailto');\r\n   \r\n   %If you could find it\r\n   if ~isempty(tStartIdx)\r\n       % Get the email\r\n       tEndIdx=strfind(profilePage(tStartIdx:tStartIdx+100),'\"')+tStartIdx;\r\n       \r\n       % Add it to our cell array\r\n       emails{length(emails)+1}=profilePage(tStartIdx+7:tEndIdx-2);\r\n   end\r\n    \r\nend\r\n\r\n\r\ntic\r\nyourResponse=getCodyEmails()\r\ntimeElapsed=toc\r\n\r\n\r\nassert(isequal(yourResponse,emails))\r\nassert(isequal(1,timeElapsed\u003e3))","published":true,"deleted":false,"likes_count":0,"comments_count":1,"created_by":3743,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":13,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2013-10-20T05:40:10.000Z","updated_at":"2025-07-31T17:14:24.000Z","published_at":"2013-10-20T05:40:10.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYes, this is a little scary and also entirely possible to do in MATLAB, so let's do it!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eLooking at the list of the players\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"http://www.mathworks.com/matlabcentral/cody/players\\\"\u003e\u003cw:r\u003e\u003cw:t\u003ehttp://www.mathworks.com/matlabcentral/cody/players\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e automatically sorts them in order according to rank. For times sake, let's say we only want to get the emails from the first 5 people. This is relatively easy to do by hand, just click on the persons name, click on \\\"View Profile Information\\\" and you have the email but if you wanted to do say the first 1,000 people instead, that would be not very fun to do by hand.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eFor this program, let's say we want the top 5 profiles that give a \\\"real\\\" email address (not a contact form) to be in a cell array. This means that if one of the top 5 people have removed their email address, your returned cell array will have less than 5 emails in it.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eIf you are not sure where to start, check out the urlread command, it allows you to put the web page source code into a string. From there, you are able to parse through that to get the URLs for the top 5 players web profile. From there, look for a \\\"mailto:\\\" and if it is there, the email address is immediately following it. If the string \\\"mailto:\\\" does not exist, there is no email address on that webpage. Put the emails in a cell array when you find them and you are good to go!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eAs an example, I have poorly written MATLAB code that works in the test case since I want the test case to always be accurate. 98% of the execution time is spent reading the webpages, and at least on my computer, that takes quite a while to do (about 2.5 seconds per profile page).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eI am definitely not collecting emails for anything, and you should not either! This is designed solely as a learning example and should in no way be used for anything unethical. All information obtained here is easily obtained by anyone in the world who knows how to program.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:rPr\u003e\u003cw:b/\u003e\u003c/w:rPr\u003e\u003cw:t\u003eIf this scares you and you want to remove your email address from your profile, it's easy. All you have to do is click \\\"My Community Profile\\\" (underneath the search bar at very top of screen) and then edit your preferences to not display your email address.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"email\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"email\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"email\"","","\"","email","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f74dee1f640\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f74dee1f5a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f74dee1df20\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f74dedf0020\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f74dee1f960\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f74dee1f780\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f74dee1f6e0\u003e":"tag:\"email\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f74dee1f6e0\u003e":"tag:\"email\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"email\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"email\"","","\"","email","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f74dee1f640\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f74dee1f5a0\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f74dee1df20\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f74dedf0020\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f74dee1f960\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f74dee1f780\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f74dee1f6e0\u003e":"tag:\"email\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f74dee1f6e0\u003e":"tag:\"email\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":1949,"difficulty_rating":"medium-hard"}]}}