Estoy tratando de usar el motor de búsqueda Sphinx con su API de Python. La instalación fue bien. Pero cuando uso su Python API, no obtengo el conjunto completo de resultados. ¿Solo recibo la identificación? Pero cuando uso su ./search binary en ./bin obtengo todo el contenido indexado.Sphinx Search Engine & Python API
Cuando se utiliza CPP ./search binario -
./search test
1. document=1, weight=1, group_id=1, date_added=Sat Sep 11 07:42:38 2010, title=2
id=1
group_id=1
group_id2=5
date_added=2010-09-11 07:42:38
title=test one
content=this is my test document number one. also checking search within phrases.
Pero cuando se utiliza la API de Python, lo entiendo -
>>> import sphinxapi
>>> client = sphinxapi.SphinxClient()
>>> client.SetServer('127.0.0.1', 9312)
>>> client.Query('test')
{'status': 0, 'matches': [{'id': 1, 'weight': 1, 'attrs': {'date_added': 1284171158, 'group_id': 1, 'title': 2}}, {'id': 2, 'weight': 1, 'attrs': {'date_added': 1284171158, 'group_id': 1, 'title': 3}}, {'id': 4, 'weight': 1, 'attrs': {'date_added': 1284171158, 'group_id': 2, 'title': 1}}], 'fields': ['content'], 'time': '0.022', 'total_found': 3, 'warning': '', 'attrs': [['group_id', 1], ['date_added', 2], ['title', 3]], 'words': [{'docs': 6, 'hits': 6, 'word': 'test'}], 'error': '', 'total': 3}
¿Cómo llego a los campos de cadena como 'título' o " contenido 'como parte del conjunto de resultados?
'Query' no devuelve el contenido de los campos de texto completo de cada coincidencia. Solo devuelve atributos enteros y los ID de documento (en orden). Deberá realizar una consulta SQL adicional para recuperar los datos de los documentos. – leoluk
@leoluk ¡gracias por la respuesta! Si lo que dijiste es verdad, entonces tendría que realizar consultas SQL adicionales para obtener mis datos. ¿Hay alguna forma de que pueda obtenerlos de la propia Sphinx? Dado que obviamente su índice tiene el texto relevante ... –
Sí, es posible, pero si supiera cómo he obtenido una respuesta – leoluk