我一直在尝试将某种形式的全文搜索集成到一个小任务中(为了好玩)。不幸的是,无论搜索词是什么,它都不会返回任何结果,即使我输入确切信息也不会。
例如,当我在导入SQLAlchemy模型后使用Python控制台执行搜索时,它会按预期返回信息。
>>> Contact.query.whooshee_search('sch').all()
[<Contact u'Kimberley' u'Schuppe' u'cathie.schmitt@paucek.com'>, <Contact u'Kelsey' u'Schinner' u'walsh.ardyce@yahoo.com'>, <Contact u'Rella' u'Schamberger' u'abbott.feest@gmail.com'>]
但是,当从POST参数通过Flask视图执行相同的搜索时,它将返回任何内容。
@app.route('/', methods=['GET', 'POST'])
@app.route('/page/<int:page>', methods=['GET'])
def index(page=1):
if request.method == 'POST':
query = request.form['search']
result = Contact.query.whooshee_search(query).all()
print query, 'result:', result
contact = Contact.query.with_entities(Contact.lname, Contact.fname, Contact.phone, Contact.addr, Contact.email).paginate(page, app.config['PAGE_MAX'], False)
return render_template('index.html', entry=contact)
从表格中搜索'sch'的结果:
sch result: []
可能导致这种情况的原因是什么?我真的很难过为什么来自控制台的相同查询工作正常,但是通过视图没有返回任何内容。