Overhaul of search feature
Started on April 15, 2017. Copied from redmine (https://bugs.ligo.org/redmine/issues/5432)
The search feature really needs to be redone. There are several requests for new features (#1337, #2175, #3543, #5052) and the code (gracedb/query.py) is really clunky. There is also a serious lack of consistency regarding when logical operators, quotes, keywords, etc. can/should be used.
Ideas from Patrick: define a "language" for the search and STICK TO IT. Can get ideas from Google, other search syntaxes. get feedback from users on any commonly used searches (primarily by automated systems) in order to make sure they don't break with the update (may have to break them, we'll see) could be similar to natural language processing expand search capabilities beyond what we have now, including the ability to search by mass, other parameters improve overall architecture think about design, understand uses, make a ~1 page write-up describing your plan