我正在使用Redis数据库创建烧瓶应用程序.我有一个连接问题
我可以将Redis连接全局并保持非关闭状态:
init .py
import os
from flask import Flask
import redis
app = Flask(__name__)
db = redis.StrictRedis(host='localhost', port=6379, db=0)
Run Code Online (Sandbox Code Playgroud)
我也可以重新连接每个请求(Flask doc http://flask.pocoo.org/docs/tutorial/dbcon/):
init .py
import os
from flask import Flask
import redis
app = Flask(__name__)
#code...
@app.before_request
def before_request():
g.db = connect_db()
@app.teardown_request
def teardown_request(exception):
db = getattr(g, 'db', None)
if db is not None:
db.close()
Run Code Online (Sandbox Code Playgroud)
哪种方法更好?为什么我应该使用它?
谢谢您的帮助!
我使用solr拼写检查俄语.当您使用西里尔字母键入时,一切都可以,但是当您使用拉丁字符键入时它不起作用.
我希望拼写检查正确,当你用西里尔字母打字时,你什么时候打字拉丁字符.并用西里尔字母对文本进行纠正.
For example, when you type:
????????????? or televidenieee
It should correct to:
???????????
Run Code Online (Sandbox Code Playgroud)
schema.xml中:
<fieldType name="spell_text" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<charFilter class="solr.PatternReplaceCharFilterFactory" pattern="[,.;:]" replacement=" "/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PatternReplaceFilterFactory" pattern="'s" replacement=""/>
<filter class="solr.ShingleFilterFactory" maxShingleSize="2" outputUnigrams="true"/>
<filter class="solr.LengthFilterFactory" min="3" max="256" />
</analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)
solrconfig.xml中
<searchComponent name="spellcheck" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">default</str>
<str name="field">spellcheck</str>
<str name="classname">solr.IndexBasedSpellChecker</str>
<str name="buildOnCommit">true</str>
<str name="buildOnOptimize">true</str>
<str name="spellcheckIndexDir">./spellchecker</str>
<str name="accuracy">0.75</str>
</lst>
<lst …Run Code Online (Sandbox Code Playgroud)