Ubuntu + coreseek + python + mysql (三、通过前端html进行搜索,用python处理数据)

本文主要是介绍Ubuntu + coreseek + python + mysql (三、通过前端html进行搜索,用python处理数据),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先要引入API:

通过路径/usr/local/coreseek-4.1-beta/csft-4.1/api 找到sphinxapi.py

复制sphinxapi.py到工程中去,在使用时,需要在文件头部这样引入即可:

from sphinxapi import *
import sys, time

前端的HTML,是一个很简单的form表单

<pre name="code" class="html"><div class="row"><div class="col-xs-12 col-sm-6 col-md-4 col-lg-4"><form id="form3" action="../search3/" method="post"><div class="input-group"><input type="text" id="content" name="content" class="form-control" placeholder="id/name/text" aria-describedby="basic-addon2"><span class="input-group-btn"><button class="btn btn-default" type="button" οnclick="submit3()">搜索</button></span></div></form></div>
</div>
 

JS文件,用户判断输入是否为空,然后提交form表单,通过form 中的action 来设置表单由哪段后台代码或文件处理,此处是search3这个函数

function submit3(){if(!$("#content").val()){alert("表单不能为空");} else {$("#form3").submit();}
}

search3 函数

(别忘了在这个函数的文件头,添加 from sphinxapi import * 和 import sys, time两句代码)

我用的是django,绿色代码是比较核心、通用的部分

def search3(request):
<span style="color:#FFCC00;">    <span style="color:#33CC00;">q = request.REQUEST.get("content")mode = SPH_MATCH_ALLhost = 'localhost'port = 9312index = 'mysql'filtercol = ''filtervals = []sortby = ''groupby = ''groupsort = ''limit = 0# do querycl = SphinxClient()cl.SetServer ( host, port )cl.SetWeights ( [100, 1] )cl.SetMatchMode ( mode )if filtervals:cl.SetFilter ( filtercol, filtervals )if groupby:cl.SetGroupBy ( groupby, SPH_GROUPBY_ATTR, groupsort )if sortby:cl.SetSortMode ( SPH_SORT_EXTENDED, sortby )if limit:cl.SetLimits ( 0, limit, max(limit,1000) )res = cl.Query ( q, index )print "res:",res</span></span>if res['total'] is 0:print 'query failed: %s' % cl.GetLastError()return HttpResponse('木有查到')else: result = []s0 = ''#s1和s0的命名很傻很天真s1 = '('length = len(res['matches'])for i in range(0,length):result.append(res['matches'][i]['id'])s0 = str(result[i])s1 = s1 + s0 + ','  #先用“+”号,以后换成join等更好的方法s1 = s1[0:-1] + ')''''以下是通过id到mysql test tb_test中查询数据'''import MySQLdbimport jsonconn = MySQLdb.connect(host='localhost',user='root',passwd='admin',db='test',charset='utf8')cur = conn.cursor()        sql = 'SELECT * FROM test.tb_test WHERE id IN %s' % s1cur.execute(sql)result = []args = {}i = 0for row in cur.fetchall():list = {}list["id"] = row[0]list["name"] = row[1]list["text"] = row[2]result.append(list)cur.close()  conn.close()  args["test_list"] = json.dumps(result)instance, type, name = get_instance_and_type(request.user)if instance.photo :photourl = instance.photo.urlargs['photourl'] = photourlargs["name"] = nameargs["keyword"] = qreturn render_to_response('test_list.html',args)

test_list.html如下

<div class="container theme-showcase" role="main"><div id="result" style="display:none;">{{ test_list }}</div><input type="hidden" id="keyword" value={{ keyword }}><div class="row" id="test_list"></div>
</div>



这篇关于Ubuntu + coreseek + python + mysql (三、通过前端html进行搜索,用python处理数据)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989318

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

C#使用SQLite进行大数据量高效处理的代码示例

《C#使用SQLite进行大数据量高效处理的代码示例》在软件开发中,高效处理大数据量是一个常见且具有挑战性的任务,SQLite因其零配置、嵌入式、跨平台的特性,成为许多开发者的首选数据库,本文将深入探... 目录前言准备工作数据实体核心技术批量插入:从乌龟到猎豹的蜕变分页查询:加载百万数据异步处理:拒绝界面