2010-05-12 628 views
8

Tengo la tarea de elegir el motor de búsqueda de texto completo que vamos a utilizar en los próximos proyectos. Según lo que he leído, me estoy inclinando por Solr, pero estoy un poco preocupado por la búsqueda espacial. Además de algunos otros parámetros (palabras clave, categoría, etc.), queremos poder especificar una ubicación y una distancia máxima (por ejemplo, a menos de 25 millas de Tempe, AZ). Nos gustaría poder ordenar los resultados por distancia.Solr vs. Sphinx para la búsqueda espacial

Spatial SOLR es aparentemente bastante nuevo, y no está del todo claro cuál es su madurez. También hay un par de otras opciones (calcular manualmente y luego invertir la distancia, o solr-spatial-light.

Mi pregunta es básicamente: ¿Spatial Solr (o solr-spatial-light) está listo para que el horario estelar maneje el caso que describí? anterior, o estamos mejor ir con Sphinx?

yo también estaría interesado en escuchar las experiencias generales de aplicación de cualquiera de éstos, en particular con php.

+1

Dos años más tarde, por el bien de la posteridad: la serie Solr 3.x y su funcionalidad de búsqueda espacial deben considerarse bastante maduras. –

Respuesta

5

actualmente estoy usando Spatial Search Plugin (SSP) for Apache Solr en la producción, que se basa en una implementación más antigua de Solr espacial. La nueva implementación espacial es (al momento de este escrito) disponible solo en trun k (o nightly builds) y currently being implemented. No estoy al tanto del estado actual de esta implementación.

Si bien Spatial Plugin tiene algunos minor issues y este código anterior es menos flexible que la implementación actual, tiene la ventaja de ser fácilmente implementable en una instancia Solr 1.4 estable existente. Además, está bien documentado. Lo estoy usando exactamente para el mismo caso de uso que describes sin problemas ni problemas de rendimiento.

Necesitará algún geocodificador para convertir las ubicaciones en coordenadas de latitud/longitud. Puede usar MaxMind's GeoLite City o cualquier otra base de datos de ubicación.

No puedo hacer ningún comentario sobre Sphinx porque no lo uso.

+0

Creo que podría ir con Solr solo porque si hago una pregunta al respecto aquí, es probable que obtenga una respuesta de alta calidad de usted. :) – notJim

+0

@notJim, jaja! Esa es la belleza de StackOverflow :) –

+0

También utilizando spatral-solr. Para mis requerimientos, ¡es bastante poderoso! – Yurish

Cuestiones relacionadas