Permítame intentar responder lo más posible para mejorar su decisión.
- ¿La aplicación que vas a construir se centra en la búsqueda? Para reformularlo, ¿vas a encontrar a tus clientes a través de algo que buscan, van a aterrizar en el producto que buscan a través de la búsqueda o tu producto es muy específico y bien definido y tu segmento objetivo de clientes sabe lo que está buscando? ¿para?
Si la respuesta es anterior, entonces sí, si es posterior, entonces probablemente no.
- ¿Va a hacer muchas consultas de lectura en la base de datos que de escritura? ¿Significa que actualiza los datos una vez pero sigue buscándolos en varias formas por varios atributos bajo varias circunstancias?
Entonces sí, de lo contrario, probablemente no. Si sus escritos son tanto como sus lecturas y los números no son locos, entonces no necesita invertir en un motor de búsqueda.
- ¿Le preocupa el tiempo de recuperación de su información? ¿Su negocio depende de que sirva el contenido a sus clientes más rápido?
- ¿Hay un montón de contenido?
Entonces sí.
- Fui preseleccionado para TISS PIT / PI (MA Education). ¿Cómo debo proceder ahora?
- El supermercado de mi ciudad universitaria igualará cualquier precio u oferta a nivel nacional. ¿Cómo puedo aprovechar esto?
- Quiero convertirme en un tirador y competir en los Juegos Olímpicos. ¿Cómo lo hago?
- Estoy planeando traer un cachorro pero mi gato no se lleva bien con otros animales, ¿qué debo hacer?
- ¿Cuáles son tus películas favoritas que salieron en 1990?
- ¿El contenido es mínimo y no espera un crecimiento exponencial en los próximos años?
Entonces no. Probablemente sea mejor optimizar sus tablas e indexar mejor sus registros.
- ¿Estás orientado a la plataforma? Mirando cómo está proporcionando API REST, tal vez está ofreciendo servicios, entonces es importante la búsqueda de datos ingresados a través de API, ¿contarán sus usuarios mucho en la obtención de sus datos?
Probablemente sea mejor ofrecer API de búsqueda también. Si no, entonces no.
- Si las personas van a buscar en su aplicación, ¿qué tipo de búsquedas son? ¿Van a utilizar un conjunto predefinido de filtros que haya proporcionado en un conjunto de datos manejable o las búsquedas van a utilizar como, similar, relacionado, más buscado, más buscado, mejor clasificado, permutación y combinación, número al texto o viceversa, si esto es entonces que las respuestas, la búsqueda de búsqueda completa, la predicción de consultas ?
Si es anterior, entonces no, si las consultas son coincidencias exactas a través de un conjunto de filtros que usted proporciona.
Si es esto último, mucho sí. Los motores de búsqueda están optimizados para esos términos.
- ¿Es su aplicación como Google, flipkart, Amazon, eBay, quora, Facebook, etc., donde se espera mucha interacción social o se requiere información del producto y sus productos o contenido de venta?
La respuesta es sí, necesita un motor de búsqueda dedicado y probablemente también necesite configurarlo para escalar y agrupar. Si no, entonces probablemente no.
Si está respondiendo las preguntas anteriores, es mejor invertir tiempo y recursos en la construcción de un servidor de búsqueda dedicado.
Por otro lado, si no es así, recuerde que implica un tiempo dedicado y recursos especializados para configurar servidores de búsqueda y agruparlos, sin olvidar los cargos de alojamiento, por lo que no es trivial económicamente de ninguna manera. Por lo tanto, es mejor no invertir tanto en motores de búsqueda que optimizar lo que ya tiene.
Por lo tanto, tome una decisión basada en lo anterior, tanto Apache Solr como Elastic Search son motores fantásticos, simplemente siga adelante con cualquiera. Avíseme si esto le ayuda o si necesita más información.