}
@RequestMapping(value = "/database/{dbname}/search", method = GET)
public ModelAndView search(@PathVariable String dbname, @RequestParam String terms) {
final Connection connection = connect(dbname);
final Database db = connection.db();
final Collection<List<Object>> results =
Peer.q("[:find ?o ?c :in $ % ?t :where (ft ?o ?c ?t)]",
connection.db(),
Rules.universalFullTextRule(connection.db()),
terms);
final List<Entity> entities = Lists.newArrayListWithCapacity(results.size());
for (List<Object> result : results) {
entities.add(db.entity(result.get(0)));
}
return new ModelAndView("search")
.addObject("dbname", dbname)
.addObject("uri", toUri(dbname))
.addObject("terms", terms)