JavaScript búsqueda difusa

Estoy trabajando en esta cosa de filtrado donde tengo alrededor de 50-100 elementos de la lista. Y cada elemento tiene un marcado como este:

<li>
  <input type="checkbox" name="services[]" value="service_id" />
  <span class="name">Restaurant in NY</span>
  <span class="filters"><!-- hidden area -->
    <span class="city">@city: new york</span>
    <span class="region">@reg: ny</span>
    <span class="date">@start: 02/05/2012</span>
    <span class="price">@price: 100</span>
  </span>
</li>

Creé un marcado como este porque inicialmente usé List.js

Entonces, probablemente ya lo adivinaste, lo que quiero es hacer búsquedas como esta:@region: LA @price: 124 y así. El problema es que también quiero mostrar más de un elemento, para seleccionar más de ... uno

upongo que esto necesita una búsqueda difusa, pero el problema es que no encontré nada funciona

¿Alguna idea o punto de partida?

// edit: como tengo una cantidad bastante pequeña de elementos, me gustaría una solución del lado del cliente.

Respuestas a la pregunta(16)

Su respuesta a la pregunta