¿Cómo realizo una consulta parametrizada en CouchDB?
Me gustaría usar CouchDB para almacenar algunos datos para mí y luego usar RESTful api calls para obtener los datos que necesito. Mi base de datos se llama "prueba" y todos mis documentos tienen una estructura similar y se parecen a esto (donde hello_world es el ID del documento):
"hello_world" : {"id":123, "tags":["hello", "world"], "text":"Hello World"}
"foo_bar" :{"id":124, "tags":["foo", "bar"], "text":"Foo Bar"}
Lo que me gustaría poder hacer es que mis usuarios envíen una consulta como: "Dame todos los documentos que contengan las palabras" hola mundo ", por ejemplo. He estado jugando con vistas pero parece que solo me permitirán mover uno o más de esos valores a la parte "clave" de la función de mapa. Eso me permite hacer algo como esto:
http: // localhost: 5984 / test / _design / search / _view / search_view? key ="Hola"
Pero esto no me permite permitir que mis usuarios especifiquen su cadena de consulta. Por ejemplo, qué tal si buscaran "hola mundo". Tendría que hacer dos consultas: una para "hola" y otra para "mundo", luego tendría que escribir un montón de Javascript para combinar los resultados, eliminar duplicados, etc. (¡YUCK!). Lo que realmente quiero es poder hacer algo como esto:
http: // localhost: 5984 / test / _design / search / _view / search_view? term ="Hola Mundo"
Luego use el parámetro "hola mundo" en las funciones de mapa de vistas / reducción para encontrar todos los documentos que contienen tanto "hola" como "mundo" en la matriz de etiquetas. ¿Es este tipo de cosas incluso posible con CouchDB? ¿Hay otra manera de lograr esto dentro de una vista que no estoy pensando?