Un algoritmo de "matching" puede ser todo lo complicado/ágil dependiendo del grado de profundidad al que se quiera llegar. Para mí hay varios requisitos fundamentales (además del propio "matching") que debe cumplir para ser práatico/útil:
- Que sea completamente configurable (características de varios tipos: numéricas, texto, elección dentro de una serie de posibilidades/opciones, si/no, entre rangos, etc...
- Que contemple elementos y agrupaciones "de características" dependientes así como incluir/permitir "exclusiones".
- Que ofrezca tanto "matching exacto" como "matching porcentual" incluso por cada caracterísitica individual.
Es por ello que mi recomendación es que todo el criterio de coincidencias esté basado en una lógica de "perfiles" a los que apliar estos criterios indicados.
NOTA: Sería interesante que nos facilitase los requisitos de forma más concreta para ofrecerle un presupuesto acorde así como una valoración en tiempo, de las cuales dependerá, en toda medida, el precio final.
Por otro lado le ruego que en caso de que usted valore nuestra propuesta como "no interesante" nos lo haga saber de forma inmediata.
Saludos.