我可以使用'a'+ 1来获取C语言中的'b',那么在Python中使用这种方法的方法是什么?
我可以这样写:
chr(ord('a')+1)
Run Code Online (Sandbox Code Playgroud)
但我不知道这是不是最好的方法.
在我的例子中,文档有两个字段,例如"title"和"views"."views"表示人们访问此文档的次数.喜欢:"标题":"iphone","views":"10".我必须制定一个策略,为视图分配一些权重,例如相关性得分由得分(标题)*0.8 +得分(观点)*0.2计算.lucene可以做到这一点吗?我想知道是否有一些与此问题相关的算法.
如果我在vim中拆分窗口(或在新选项卡中打开文件)以关闭每个拆分的窗口(或选项卡),我必须多次输入:q.有没有办法退出vim只需键入一次:q并保存所有更改?
我想输出文件的分数.我为此写的代码是:
IndexReader reader = IndexReader.open(FSDirectory.open(indexDir));
IndexSearcher searcher = new IndexSearcher(reader);
Analyzer analyzer = new IKAnalyzer();
QueryParser parser = new QueryParser(Version.LUCENE_31, "title",
analyzer);
Query q = null;
q = parser.parse("MacOS");
TopDocs docs = searcher.search(q, 10);
ScoreDoc[] hits = docs.scoreDocs;
for(int i=0;i<hits.length;++i){
System.out.println(hits[i].score);
}
Run Code Online (Sandbox Code Playgroud)
但输出是NaN.我想知道如何获得文档的分数.
我希望我的Vim运行一些命令,例如setlocal spell spelllang=en_us当我编辑扩展名为的文件时en,例如abc.en.我该如何实现呢?
当我的搜索服务器开始运行时,它会立即为所有查询加载所有索引.但是,即使重建索引,它仍然使用旧索引.所以我认为我应该告诉搜索器的indexReader在服务器重建索引后重新打开索引,但是如何实现呢?也许使用生产者 - 消费者模式?虽然我可以使用indexReader.isCurrent()来检查索引是否已经更改,但我必须经常检查这个搜索或在某个时间段.有没有更有效和实时的方式?
我正在使用Pythons logging模块。我想记录一条消息的完整路径,例如
“ msg packagename.modulename.functionName lineNumber”,但是如何获取消息的软件包名称?
日志记录配置为:
LOGGING = {
'formatters': {
'simple': {
'format': '[%(levelname)s] %(message)s [%(module)s %(funcName)s %(lineno)d]'
},
},
'handlers': {
'console': {
'level':'INFO',
'class':'logging.StreamHandler',
'formatter':'simple',
}
},
'loggers': {
'develop': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
}
Run Code Online (Sandbox Code Playgroud)
}
我得到了这样的记录器:
logger = logging.getLogger('develop')
Run Code Online (Sandbox Code Playgroud) 我得到一个词典来启动一个班主任.有一个人在场:'名字'.'name'字段是可选的,这意味着如果dict没有'name'项,那么person没有'name'值.我使用getter方法来获取实例属性,但是如果没有'name'值则会抛出错误.我不知道有什么好的编程风格来改进我的代码吗?因为python在运行时创建实例字段,所以我不知道如何使用像java这样的getter.
class Person:
def __init__(self,person_dict):
try:
self.name = person_dict['name']
except Exception:
pass
def getName(self):
return self.name
pdict = {}
p = Person(pdict)
print p.getName()
Run Code Online (Sandbox Code Playgroud)
AttributeError:Person实例没有属性'name'
我正在写一个lucene服务器.我想收到帖子查询,例如:http://www.site.com/search?+ title:
google + type:website
但是帖子论证"+ title:google + type:website"编码如下:"+ title:google%20 + type:website" 所以我使用URLDecoder.decode(参数,"UTF-8")来获取原文输入,但我得到错误的结果:
"title:goole type:website",因为URLDecoder将加号"+"转换为空格字符"".如何在不转换加号的情况下获取解码参数?
我通过以下代码实现它,但我不知道是否有一种更有效的方法从StringBuilder中删除所有空格
private static StringBuilder removeBlankSpace(StringBuilder sb){
for(int i=0;i<sb.length();++i){
if(Character.isWhitespace(sb.charAt(i))){
sb.deleteCharAt(i);
i--;
}
}
return sb;
}
Run Code Online (Sandbox Code Playgroud)