Como faço para executar uma consulta parametrizada no CouchDB

Eu gostaria de usar o CouchDB para armazenar alguns dados para mim e, em seguida, usar chamadas de API RESTful para obter os dados de que preciso. Meu banco de dados é chamado de "teste" e todos os meus documentos têm uma estrutura semelhante e se parecem com isso (onde hello_world é o ID do documento):

"hello_world" : {"id":123, "tags":["hello", "world"], "text":"Hello World"}
"foo_bar" :{"id":124, "tags":["foo", "bar"], "text":"Foo Bar"} 

O que eu gostaria de poder fazer é fazer com que meus usuários enviem uma consulta como: "Dê-me todos os documentos que contenham as palavras 'olá mundo', por exemplo. Estou brincando com exibições, mas parece eles só me permitem mover um ou mais desses valores para a parte "chave" da função do mapa. Isso me dá a capacidade de fazer algo assim:

http: // localhost: 5984 / test / _design / search / _view / search_view? key ="Olá"

Mas isso não permite que meus usuários especifiquem sua string de consulta. Por exemplo, e se eles pesquisassem "olá mundo". Eu teria que fazer duas consultas: uma para "olá" e outra para "mundo", então eu teria que escrever um monte de javascript para combinar os resultados, remover duplicatas, etc (YUCK!). O que eu realmente quero é poder fazer algo assim:

http: // localhost: 5984 / test / _design / search / _view / search_view? term ="Olá Mundo"

Em seguida, use o parâmetro "hello world" no mapa de visualizações / reduza as funções para localizar todos os documentos que contenham "hello" e "world" na matriz de tags. Isso é possível com o CouchDB? Existe outra maneira de conseguir isso dentro de uma visão que não estou pensando?