Ich versuche, Sphinx Search Engine mit ihrer Python API zu verwenden. Die Installation lief gut. Aber wenn ich ihre Python-API benutze, erhalte ich nicht die vollständige Ergebnismenge. Ich bekomme nur die IDs? Aber wenn ich ihre ./search-Binärdatei in ./bin verwende, erhalte ich den gesamten indizierten Inhalt.Sphinx Search Engine & Python API
Wenn cav mit ./search binär -
./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.
Aber wenn ich die Python-API verwenden, erhalte ich -
>>> 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}
Wie erhalte ich die String-Felder wie 'Titel' oder " Inhalt 'als Teil der Ergebnismenge?
'Query' nicht den Inhalt der Volltext Felder jedes Spiel zurückzukehren. Es gibt nur ganzzahlige Attribute und die Dokument-IDs (in der Reihenfolge) zurück. Sie müssen zusätzliche SQL-Abfragen durchführen, um die Dokumentendaten abzurufen. – leoluk
@leoluk danke für die Antwort! Wenn das, was Sie gesagt haben, wahr ist, müsste ich zusätzliche SQL-Abfragen durchführen, um meine Daten tatsächlich zu erhalten. Kann ich sie irgendwie von Sphinx selbst bekommen? Da offensichtlich hat seinen Index der entsprechende Text ... –
Ja, es ist möglich, aber wenn ich wusste, wie ich eine Antwort aus ihm gemacht hatte – leoluk