当前位置: 主页 > 日志 > Python >

Sphinx的Python客户端示例

# coding: utf-8
# sphinxapi.py 可见于 coreseek-4.1-win32\api\目录内
import sphinxapi
import pprint

spc = sphinxapi.SphinxClient()
spc.SetServer('127.0.0.1', 9312)
spc.SetMatchMode(sphinxapi.SPH_MATCH_ANY)
# 设置返回数据的开始位置和条数
spc.SetLimits(0, 5)
# 检索关键字"矢量"
res = spc.Query('矢量', '*')
pprint.pprint(res)

输出结果:

{'attrs': [['arc_updated', 2], ['arc_site', 1]],
 'error': '',
 'fields': ['arc_title',
            'arc_author',
            'arc_excerpt',
            'arc_keywords',
            'arc_references',
            'arc_excerpten',
            'arc_keywordsen',
            'arc_references',
            'arc_url'],
 'matches': [{'attrs': {'arc_site': 1, 'arc_updated': 2011},
              'id': 3017,
              'weight': 4},
             {'attrs': {'arc_site': 1, 'arc_updated': 2011},
              'id': 18,
              'weight': 3},
             {'attrs': {'arc_site': 1, 'arc_updated': 2011},
              'id': 52,
              'weight': 3},
             {'attrs': {'arc_site': 1, 'arc_updated': 2011},
              'id': 111,
              'weight': 3},
             {'attrs': {'arc_site': 1, 'arc_updated': 2011},
              'id': 362,
              'weight': 3}],
 'status': 0,
 'time': '0.006',
 'total': 109,
 'total_found': 109,
 'warning': '',
 'words': [{'docs': 109, 'hits': 255, 'word': '\xe7\x9f\xa2\xe9\x87\x8f'}]}

 

然后根据检索结果中的ID可以获取匹配项的详情,最终可达到如下的效果:

 

 

coreseek-4.1-win32.zip在官方网站下载不到了,需要的请邮件索取。

[日志信息]

该日志于 2012-02-15 19:17 由 redice 发表在 redice's Blog ,你除了可以发表评论外,还可以转载 “Sphinx的Python客户端示例” 日志到你的网站或博客,但是请保留源地址及作者信息,谢谢!!    (尊重他人劳动,你我共同努力)
   
验证(必填):   点击我更换验证码

redice's Blog  is powered by DedeCms |  Theme by Monkeii.Lee |  网站地图 |  本服务器由西安鲲之鹏网络信息技术有限公司友情提供

返回顶部