2011-11-18 26 views
5

He decidido usar ElasticSearch como la tienda principal para los datos principales de mi sitio de búsqueda. Es una base de datos NoSQL que proporciona búsqueda de texto completo y otras capacidades increíbles de búsqueda.ElasticSearch, almacén de datos para usuarios y datos sociales?

¿Sería también útil almacenar mis datos de usuario y relaciones sociales en el motor ElasticSearch también? ¿O debería almacenar esto en una base de datos separada?

+0

sí, vi esa pregunta, pero tengo curiosidad por saber si los datos sociales y de usuario serían factibles en la base de datos de búsqueda elástica. – onejigtwojig

+0

Sin más detalles sobre sus "datos de usuario" y "relaciones sociales" y ejemplos concretos de cómo le gustaría consultar o agregar sus datos, aquí hay poco que responder aparte de "Sí, puede hacerlo y sería útil" . – karmi

+0

datos de usuario como en información de inicio de sesión, contraseña, información de perfil. Los datos sociales incluyen una lista de seguidores y los que sigue un usuario. El mismo tipo de relaciones dirigidas que encontrarías en Twitter. – onejigtwojig

Respuesta

3

Yo diría que adelante y guarde toda esa información en ElasticSearch SOLAMENTE si puede asegurar la base de datos de alguna manera. AFAIK, ES no es compatible con ningún método para proteger la aplicación mediante autenticación, claves, etc. Por lo tanto, si no puede proteger esos datos, seguramente no desea ingresar ninguno de los datos de inicio de sesión del usuario.

En mi aplicación, he bloqueado el acceso al puerto de mi instancia de ES a localhost solamente. Luego, he creado una capa de servicio sobre ES en node.js. Toda mi autenticación se maneja antes de llegar a la capa de datos.

Una cosa sobre ES es que una mayor cantidad de datos no necesariamente ralentiza las consultas a menos que esté indexando todos esos datos o consultando en su lugar. Si solo necesita recuperar esos datos, entonces siempre puede tomar el documento "_source". Asegúrese de tener espacio en el disco para manejar sus datos, pero aparte de eso, yo diría que lo guarde todo y sea estratégico en lo que indexa y cómo.

+0

Gracias por la sugerencia. No creo que ES tenga mecanismos de seguridad. Seguiré el ejemplo y bloquearé el acceso al puerto de ES. ¡Gracias! – onejigtwojig

+0

Además, ¿no se indexan automáticamente todos los documentos que se agregan a Elastic Search? No estoy seguro de lo que quiere decir con solo agarrar el documento "_source". Tendremos que echar un vistazo a los documentos con más cuidado. – onejigtwojig

+0

Bueno, "analizado" habría sido una mejor manera de poner eso. Si tiene muchas propiedades que deben analizarse textualmente, eso ralentizará sus consultas. Cuando recupera documentos de ES, una de las propiedades devueltas es "_source", que tiene todo el documento en ella. – swatkins

Cuestiones relacionadas