)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"b003e102be6a452e933e6d89086cfd2d0330e24a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"offset, limit, sort, fields, highlight, all_projects."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Add search resource cli:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    openstack search resources [--resource [\u003cresource\u003e [\u003cresource\u003e"},{"line_number":15,"context_line":"    ...]]] [--query-string \u003cquery-string\u003e] [--all-projects] [--details]"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da6ed579_6d80fff7","line":13,"updated":"2016-01-14 06:57:18.000000000","message":"Added comment on etherpad as well, but, what about the following command structure?  Do you like it better? Basically make query-string the command (and not an option)\n\nopenstack search query-string [--resource [\u003cresource\u003e [\u003cresource\u003e...]]]  [--all-projects] [--details]","commit_id":"d20a1f5d392821bccdeaa8efe5fcf64697f50724"}],"searchlightclient/osc/v1/search.py":[{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"3c722cfe174c185ce69923491332ab648d79112e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def get_parser(self, prog_name):"},{"line_number":30,"context_line":"        parser \u003d super(SearchResource, self).get_parser(prog_name)"},{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \"--resource\","},{"line_number":33,"context_line":"            nargs\u003d\u0027*\u0027,"},{"line_number":34,"context_line":"            metavar\u003d\"\u003cresource\u003e\","},{"line_number":35,"context_line":"            help\u003d\"One or more types to search. Uniquely identifies resource \""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa69d971_bcbd8003","line":32,"range":{"start_line":32,"start_character":15,"end_line":32,"end_character":23},"updated":"2016-01-06 18:09:58.000000000","message":"We\u0027re using \u0027resource-type\u0027 to list changes, but only \u0027resource\u0027 here. \u0027type\u0027 might make more sense since it maps to the API query syntax better, but otherwise i\u0027d be inclined to use \u0027resource-type\u0027","commit_id":"d20a1f5d392821bccdeaa8efe5fcf64697f50724"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"b003e102be6a452e933e6d89086cfd2d0330e24a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    def get_parser(self, prog_name):"},{"line_number":30,"context_line":"        parser \u003d super(SearchResource, self).get_parser(prog_name)"},{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \"--resource\","},{"line_number":33,"context_line":"            nargs\u003d\u0027*\u0027,"},{"line_number":34,"context_line":"            metavar\u003d\"\u003cresource\u003e\","},{"line_number":35,"context_line":"            help\u003d\"One or more types to search. Uniquely identifies resource \""}],"source_content_type":"text/x-python","patch_set":2,"id":"da6ed579_b0c97028","line":32,"range":{"start_line":32,"start_character":15,"end_line":32,"end_character":23},"in_reply_to":"fa69d971_bcbd8003","updated":"2016-01-14 06:57:18.000000000","message":"Funny, i just added similar comment to etherpad.  please check it out.","commit_id":"d20a1f5d392821bccdeaa8efe5fcf64697f50724"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"cb230cef4eefcacf94496e079ae92b5dd11c7444","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        if parsed_args.details:"},{"line_number":68,"context_line":"            columns \u003d (\"ID\", \"Score\", \"Type\", \"Index\", \"Source\")"},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            columns \u003d (\"ID\", \"Score\", \"Type\", \"Index\")"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        params \u003d {"},{"line_number":73,"context_line":"            \"type\": parsed_args.type,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_9abe35d3","line":70,"range":{"start_line":70,"start_character":47,"end_line":70,"end_character":52},"updated":"2016-01-17 18:35:49.000000000","message":"We should add some fields from the source to non \u0027details\u0027 queries - \u0027name\u0027, for example, and perhaps the updated time. The id on its own isn\u0027t terribly useful (and most people will interact with OSC using resource names).","commit_id":"85d40f837830d70a772859b4606dd50196ec6246"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"03514296f8e30d87199f626afdfd81c0cbab875c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        if parsed_args.details:"},{"line_number":68,"context_line":"            columns \u003d (\"ID\", \"Score\", \"Type\", \"Index\", \"Source\")"},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            columns \u003d (\"ID\", \"Score\", \"Type\", \"Index\")"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        params \u003d {"},{"line_number":73,"context_line":"            \"type\": parsed_args.type,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_4fe7af40","line":70,"range":{"start_line":70,"start_character":47,"end_line":70,"end_character":52},"in_reply_to":"da6ed579_9abe35d3","updated":"2016-01-19 02:19:48.000000000","message":"Done","commit_id":"85d40f837830d70a772859b4606dd50196ec6246"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"cb230cef4eefcacf94496e079ae92b5dd11c7444","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"def to_string(source):"},{"line_number":91,"context_line":"    return json.dumps(source).replace(\u0027,\u0027, \u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_9a087593","line":91,"range":{"start_line":91,"start_character":22,"end_line":91,"end_character":28},"updated":"2016-01-17 18:35:49.000000000","message":"This is causing quotes to display around the values - \n| \"02b1c1e4-a6c2-439c-9527-62c964f2788b\" | 0.026330257 | \"OS::Nova::Server\" | \"searchlight\" |","commit_id":"85d40f837830d70a772859b4606dd50196ec6246"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"03514296f8e30d87199f626afdfd81c0cbab875c","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"def to_string(source):"},{"line_number":91,"context_line":"    return json.dumps(source).replace(\u0027,\u0027, \u0027\\n\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba63e191_f48756d5","line":91,"range":{"start_line":91,"start_character":22,"end_line":91,"end_character":28},"in_reply_to":"da6ed579_9a087593","updated":"2016-01-19 02:19:48.000000000","message":"Done","commit_id":"85d40f837830d70a772859b4606dd50196ec6246"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"37498638f56b8cd9b03b777a3b4248812b254142","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \"query\","},{"line_number":33,"context_line":"            metavar\u003d\"\u003cquery\u003e\","},{"line_number":34,"context_line":"            help\u003d\"See Elasticsearch DSL or Searchlight documentation.\""},{"line_number":35,"context_line":"        )"},{"line_number":36,"context_line":"        parser.add_argument("},{"line_number":37,"context_line":"            \"--type\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_8c557251","line":34,"updated":"2016-01-20 00:39:22.000000000","message":"I think we need to a little more help here. Just telling them to go to documentation leaves a broad array of possibilities.  My inclination is that we make this patch just work with query string for now with telling that we accept ElasticSearch query_string format and provide a simple example e.g.\n\n\"name: cirros AND updated_at: [now-1y TO now]\"\n\nThen refer them to Elasticsearch documentation (like you do now).  \n\nIn follow on patches, we update it to add that we support the json format DSL.","commit_id":"2d026160eb12c7d28387fd5052c96c2e2668113d"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1584d42b710bb2ddabc014cb4cd85b0d5f37eb8d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \"query\","},{"line_number":33,"context_line":"            metavar\u003d\"\u003cquery\u003e\","},{"line_number":34,"context_line":"            help\u003d\"See Elasticsearch DSL or Searchlight documentation.\""},{"line_number":35,"context_line":"        )"},{"line_number":36,"context_line":"        parser.add_argument("},{"line_number":37,"context_line":"            \"--type\","}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_029ce9be","line":34,"in_reply_to":"ba63e191_8c557251","updated":"2016-01-20 01:15:53.000000000","message":"Done","commit_id":"2d026160eb12c7d28387fd5052c96c2e2668113d"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"37498638f56b8cd9b03b777a3b4248812b254142","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        if parsed_args.details:"},{"line_number":68,"context_line":"            columns \u003d (\"ID\", \"Score\", \"Type\", \"Index\", \"Source\")"},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            columns \u003d (\"ID\", \"Name\", \"Score\", \"Type\", \"Index\", \"Updated\")"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_89b1e491","line":69,"updated":"2016-01-20 00:39:22.000000000","message":"I **think** we should just drop the index column. This isn\u0027t really useful to somebody just looking to find resources. It is an internal detail that we hope to take away.","commit_id":"2d026160eb12c7d28387fd5052c96c2e2668113d"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1584d42b710bb2ddabc014cb4cd85b0d5f37eb8d","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        if parsed_args.details:"},{"line_number":68,"context_line":"            columns \u003d (\"ID\", \"Score\", \"Type\", \"Index\", \"Source\")"},{"line_number":69,"context_line":"        else:"},{"line_number":70,"context_line":"            columns \u003d (\"ID\", \"Name\", \"Score\", \"Type\", \"Index\", \"Updated\")"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_1fa522b4","line":69,"in_reply_to":"ba63e191_89b1e491","updated":"2016-01-20 01:15:53.000000000","message":"Done","commit_id":"2d026160eb12c7d28387fd5052c96c2e2668113d"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"5f975bd86ea70bb4a9dc382ddbf83b14edd85a8d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                 \"unless all_projects is set\""},{"line_number":54,"context_line":"        )"},{"line_number":55,"context_line":"        parser.add_argument("},{"line_number":56,"context_line":"            \"--details\","},{"line_number":57,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":58,"context_line":"            default\u003dFalse,"},{"line_number":59,"context_line":"            help\u003d\"Whether to display the resource details, defaults to false.\""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_d4a526b5","line":56,"range":{"start_line":56,"start_character":15,"end_line":56,"end_character":22},"updated":"2016-01-21 22:07:53.000000000","message":"Also after some discussion, perhaps rename this --source, since that\u0027s really what it is - the source indexed document.","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"22cde3319ff251e1f661ec5d1b2fbc86c6da34e6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                 \"unless all_projects is set\""},{"line_number":54,"context_line":"        )"},{"line_number":55,"context_line":"        parser.add_argument("},{"line_number":56,"context_line":"            \"--details\","},{"line_number":57,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":58,"context_line":"            default\u003dFalse,"},{"line_number":59,"context_line":"            help\u003d\"Whether to display the resource details, defaults to false.\""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_a87a8eef","line":56,"range":{"start_line":56,"start_character":15,"end_line":56,"end_character":22},"in_reply_to":"9a68dd71_d4a526b5","updated":"2016-01-22 02:48:14.000000000","message":"Done","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"5f975bd86ea70bb4a9dc382ddbf83b14edd85a8d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        else:"},{"line_number":74,"context_line":"            columns \u003d (\"ID\", \"Name\", \"Score\", \"Type\", \"Updated\")"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        params \u003d {"},{"line_number":77,"context_line":"            \"type\": parsed_args.type,"},{"line_number":78,"context_line":"            \"all_projects\": parsed_args.all_projects"},{"line_number":79,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_74831a05","line":76,"range":{"start_line":76,"start_character":14,"end_line":76,"end_character":15},"updated":"2016-01-21 22:07:53.000000000","message":"A bit of an optimization, but when not running with --source (or --details as it is now) we can specify the fields we DO want with the _source query parameter (\"_source\": [\"name\", \"updated_at\"])","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"22cde3319ff251e1f661ec5d1b2fbc86c6da34e6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        else:"},{"line_number":74,"context_line":"            columns \u003d (\"ID\", \"Name\", \"Score\", \"Type\", \"Updated\")"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        params \u003d {"},{"line_number":77,"context_line":"            \"type\": parsed_args.type,"},{"line_number":78,"context_line":"            \"all_projects\": parsed_args.all_projects"},{"line_number":79,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_081ddabc","line":76,"range":{"start_line":76,"start_character":14,"end_line":76,"end_character":15},"in_reply_to":"9a68dd71_74831a05","updated":"2016-01-22 02:48:14.000000000","message":"Done","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"6e046a961091f636a7f184d3cd26668174eeac06","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            converted \u003d {}"},{"line_number":89,"context_line":"            for k, v in six.iteritems(r):"},{"line_number":90,"context_line":"                if k \u003d\u003d \"_source\":"},{"line_number":91,"context_line":"                    converted[mapping[k]] \u003d to_string(v)"},{"line_number":92,"context_line":"                    converted[\"name\"] \u003d v.get(\"name\")"},{"line_number":93,"context_line":"                    converted[\"updated\"] \u003d v.get(\"updated_at\")"},{"line_number":94,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_34228253","line":91,"updated":"2016-01-21 22:05:14.000000000","message":"talked with sjmc7... you could take out the call to to_string here.\n\nThen all of the following work:\n openstack search query \"name: cirros\" --details --max-width 50   openstack search query \"name: cirros\" --details -c Source -f json","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"22cde3319ff251e1f661ec5d1b2fbc86c6da34e6","unresolved":false,"context_lines":[{"line_number":88,"context_line":"            converted \u003d {}"},{"line_number":89,"context_line":"            for k, v in six.iteritems(r):"},{"line_number":90,"context_line":"                if k \u003d\u003d \"_source\":"},{"line_number":91,"context_line":"                    converted[mapping[k]] \u003d to_string(v)"},{"line_number":92,"context_line":"                    converted[\"name\"] \u003d v.get(\"name\")"},{"line_number":93,"context_line":"                    converted[\"updated\"] \u003d v.get(\"updated_at\")"},{"line_number":94,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_2828dee1","line":91,"in_reply_to":"9a68dd71_34228253","updated":"2016-01-22 02:48:14.000000000","message":"Done","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"5f975bd86ea70bb4a9dc382ddbf83b14edd85a8d","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        return (columns, result)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"def to_string(source):"},{"line_number":101,"context_line":"    return json.dumps(source,"},{"line_number":102,"context_line":"                      sort_keys\u003dTrue).replace(\u0027,\u0027, \u0027\\n\u0027).replace(\u0027\"\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_34d0421f","line":100,"range":{"start_line":100,"start_character":14,"end_line":100,"end_character":20},"updated":"2016-01-21 22:07:53.000000000","message":"After some discussion, the consensus seems to be to get rid of to_string; while the tabular output looks a bit strange, it means that applying different formats works as expected (i.e. -f json). With this function, the json-formatted output is unusable (it\u0027s a big giant string), and we think that it\u0027s more likely the _source data is useful for consumption (and formatting) via pipe or something.","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"22cde3319ff251e1f661ec5d1b2fbc86c6da34e6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        return (columns, result)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"def to_string(source):"},{"line_number":101,"context_line":"    return json.dumps(source,"},{"line_number":102,"context_line":"                      sort_keys\u003dTrue).replace(\u0027,\u0027, \u0027\\n\u0027).replace(\u0027\"\u0027, \u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_680d768f","line":100,"range":{"start_line":100,"start_character":14,"end_line":100,"end_character":20},"in_reply_to":"9a68dd71_34d0421f","updated":"2016-01-22 02:48:14.000000000","message":"Done","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"}],"searchlightclient/v1/search.py":[{"author":{"_account_id":7665,"name":"Travis Tripp","email":"os.travis.tripp@gmail.com","username":"travis.tripp"},"change_message_id":"37498638f56b8cd9b03b777a3b4248812b254142","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        :param query: see Elasticsearch DSL or Searchlight documentation;"},{"line_number":34,"context_line":"                      defaults to match everything"},{"line_number":35,"context_line":"        :param index: one or more indices to search. Typically not necessary;"},{"line_number":36,"context_line":"                      prefer using `type` instead"},{"line_number":37,"context_line":"        :param type: one or more types to search. Uniquely identifies resource"},{"line_number":38,"context_line":"                     types. Example: OS::Glance::Image"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_0cef4288","line":35,"updated":"2016-01-20 00:39:22.000000000","message":"We can drop index.","commit_id":"2d026160eb12c7d28387fd5052c96c2e2668113d"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"1584d42b710bb2ddabc014cb4cd85b0d5f37eb8d","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        :param query: see Elasticsearch DSL or Searchlight documentation;"},{"line_number":34,"context_line":"                      defaults to match everything"},{"line_number":35,"context_line":"        :param index: one or more indices to search. Typically not necessary;"},{"line_number":36,"context_line":"                      prefer using `type` instead"},{"line_number":37,"context_line":"        :param type: one or more types to search. Uniquely identifies resource"},{"line_number":38,"context_line":"                     types. Example: OS::Glance::Image"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba63e191_8273f97f","line":35,"in_reply_to":"ba63e191_0cef4288","updated":"2016-01-20 01:15:53.000000000","message":"Done","commit_id":"2d026160eb12c7d28387fd5052c96c2e2668113d"},{"author":{"_account_id":10063,"name":"Steve McLellan","email":"steven.j.mclellan@gmail.com","username":"sjmc7"},"change_message_id":"5f975bd86ea70bb4a9dc382ddbf83b14edd85a8d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        :param offset: skip over this many results"},{"line_number":38,"context_line":"        :param limit: return this many results"},{"line_number":39,"context_line":"        :param sort: sort by one or more fields"},{"line_number":40,"context_line":"        :param fields: restrict the fields returned for each document"},{"line_number":41,"context_line":"        :param highlight: add an Elasticsearch highlight clause"},{"line_number":42,"context_line":"        :param all_projects: by default searches are restricted to the"},{"line_number":43,"context_line":"                             current project unless all_projects is set"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_34ccc269","line":40,"range":{"start_line":40,"start_character":15,"end_line":40,"end_character":21},"updated":"2016-01-21 22:07:53.000000000","message":"This is named _source in the API, not \u0027fields\u0027","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"22cde3319ff251e1f661ec5d1b2fbc86c6da34e6","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        :param offset: skip over this many results"},{"line_number":38,"context_line":"        :param limit: return this many results"},{"line_number":39,"context_line":"        :param sort: sort by one or more fields"},{"line_number":40,"context_line":"        :param fields: restrict the fields returned for each document"},{"line_number":41,"context_line":"        :param highlight: add an Elasticsearch highlight clause"},{"line_number":42,"context_line":"        :param all_projects: by default searches are restricted to the"},{"line_number":43,"context_line":"                             current project unless all_projects is set"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a68dd71_a85feee3","line":40,"range":{"start_line":40,"start_character":15,"end_line":40,"end_character":21},"in_reply_to":"9a68dd71_34ccc269","updated":"2016-01-22 02:48:14.000000000","message":"Done","commit_id":"9991c0b583a869923010a1a97730fde08c1fe4c0"}]}
