小编mli*_*ner的帖子

如何在"匹配所有文档"查询中在solr中排序结果

当我使用"匹配所有文档"查询' *:*',星号冒号星号时,结果如何排序?

我认为它们按相关性排序,但在这种情况下相关性是相同的,对吧?那么,这个计划是什么?

solr relevance

6
推荐指数
1
解决办法
2148
查看次数

在Django Rest框架选项请求中显示过滤器和排序

我正在使用Django Rest Framework我注意到在Web上可浏览的API部分有一个名为'options'的按钮,当点击它时会显示以下内容...

HTTP 200 OK Vary: Accept Content-Type: text/html Allow: HEAD, GET, OPTIONS
{
    "parses": [
        "application/json", 
        "application/x-www-form-urlencoded", 
        "multipart/form-data"
    ], 
    "renders": [
        "application/json", 
        "text/html"
    ], 
    "name": "Products", 
    "description": "API endpoint."
} 
Run Code Online (Sandbox Code Playgroud)

我的问题是,无论如何我可以在这里列出所有过滤器选项这个网址的其他东西?

django django-rest-framework

6
推荐指数
2
解决办法
2005
查看次数

在Pelican中使用绝对网址有什么意义?

关于RELATIVE_URLS,Pelican文档说:

...目前有两种支持的URL形成方法:相对和绝对.在本地测试时,相对URL非常有用,绝对URL在发布时是可靠且最有用的.

(http://pelican.readthedocs.org/en/3.4.0/settings.html#url-settings)

但我很困惑为什么绝对URL会更好或不好.一般来说,当我手工编写HTML时,我更喜欢使用相对URL,因为我可以更改网站的域名,以后不用担心.

有人可以更详细地解释这个设置背后的想法吗?

relative-path absolute-path pelican

6
推荐指数
1
解决办法
969
查看次数

将芹菜任务的结果链接到一个分布式组

像在另一个问题中一样,我想从celery任务返回的列表中创建一个celery组。这个想法是,第一个任务将返回一个列表,第二个任务将将该列表分解为列表中每个项目的并发任务。

计划是在下载内容时使用它。第一个任务从网站获取链接,第二个任务是一个链,该链下载页面,对其进行处理,然后将其上传到s3。最后,完成所有子页面后,该数据库在我们的数据库中被标记为完成。就像是:

chain(
    get_links_from_website.si('https://www.google.com'),
    dmap.s(  # <-- Distributed map
        download_sub_page.s() | 
        process_sub_page.s() | 
        upload_sub_page_to_s3.s()
    ),
    mark_website_done.s()
)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我看到的解决方案似乎可以很好地解决此问题,但是当第二个任务是链时,由于clone没有进行深度复制的问题,该解决方案失败了(有关详细信息,请参见此答案的评论):

@task
def dmap(it, callback):
    # Map a callback over an iterator and return as a group
    callback = subtask(callback)
    return group(callback.clone([arg,]) for arg in it)()
Run Code Online (Sandbox Code Playgroud)

还有一个问题是,如果可迭代项的长度为10,000个,它将创建一个包含10,000个项目的组。可以想象,这消耗了我们的内存使用量。

因此,我正在寻找一种做到dmap这一点的方法:

  • 不会通过创建怪异的组来炸毁RAM(也许可以通过迭代来分块吗?)
  • 适用于芹菜链,而不会产生Deepcopy问题。

python celery chain

6
推荐指数
1
解决办法
1114
查看次数

在重复检测算法中合并独立分数以获得总分

我正在构建一个重复检测器,并且我已经确定了一些与重复相关的因素:

我可以轻松获得这些因素中任何一个的 0-1 值,但我遇到的问题是如何将这些因素组合成一个聚合值。

因此,例如,如果长度准确并且标题非常相似,即使引文相当不同,我也可能会认为它是重复的,因为这个语料库中的引文很混乱。或者你可以想象类似的事情(长度关闭,但其他因素开启;所有因素都很好,但不是很好;等等)。

最终我想做的是让系统识别可能重复的文档(这部分很简单),然后我说是或否。当我对这些重复项进行投票时,它会确定有效的重复项应该得到什么样的分数,并学习如何在没有我的同意或反对的情况下继续进行。

python scoring machine-learning

5
推荐指数
1
解决办法
1594
查看次数

如何使用Python Requests库处理编码

我已经在编码方面挣扎了很长时间,今天我想彻底打破精神障碍.

现在,我使用的要求凑一堆网站,并从我可以告诉它使用HTTP头找出该页面使用的编码,回落至chardet模块网站的标题时失踪.从那里,它解码它下载的字节码,然后帮助我一个unicode对象r.text.

都好.

但我感到困惑的是,从那里我对文本做了一些工作,然后将它打印到stdout,在打印时提供编码:

 print foo.encode('utf-8')
Run Code Online (Sandbox Code Playgroud)

问题是,当我这样做时,打印的东西搞砸了.在下文中,我希望在"判断"和"标准"这两个词之间得到一个简单的说法:

 Declaratory judgmentsStandard of review.
Run Code Online (Sandbox Code Playgroud)

相反,我得到四个小数字的四四方方的东西.当然,它似乎没有显示在这里,但我认为这些数字是0097,这与我得到的结果相符:

repr(foo)
u'Declaratory judgments\x97Standard of review.'
Run Code Online (Sandbox Code Playgroud)

所以那是有道理的,但我的emdash在哪里?

这个过程归结为:

  1. 请求下载页面并智能地将文本解码为unicode对象
  2. 我一起工作
  3. 我把它编码为utf-8并将其打印出来.

哪里出了问题?这对我来说听起来像神话般的unicode三明治,但显然我错过了一些东西.

python unicode encoding python-requests

5
推荐指数
1
解决办法
2931
查看次数

在 Python 模块中存储 JSON 数据的最佳方式

我正在开发一个 Python 模块,其中包含一个大的 JSON 文件作为它所依赖的数据的一部分。我希望 Python 用户能够将 JSON 文件作为 Python 变量导入,并且对于其他编程语言的用户来说,能够直接使用 JSON 文件。

因此,我试图找出使 JSON 对象“可导入”的最佳方法。现在,我的解决方案是__init__.py

import json
import os

with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'seals.json')) as f:
    seals_data = json.load(f)
Run Code Online (Sandbox Code Playgroud)

然后Python开发者可以调用:

from my_module import seals_data
Run Code Online (Sandbox Code Playgroud)

它或多或少有效,但这对我来说感觉很奇怪,我想确保没有更干净的方法来使 json 可导入。

python json

5
推荐指数
1
解决办法
2816
查看次数

如何使用 celery 队列中的倒计时器刷新任务

我的 Celery 队列有数百个带有倒计时的任务,这将使它们在接下来的几个小时内触发。有没有办法让这些任务立即运行,以便有效地刷新队列?

我目前正在计划升级我们的服务器,我想确保升级完成时没有后台任务在运行。如果我必须等待这些倒计时,那没关系,但我宁愿强制任务运行。

另一种选择可能是暂停队列的处理,直到升级完成,但刷新似乎是更好的选择。

编辑:我已经弄清楚如何查找已安排的任务列表:

from celery.task.control import inspect
i = inspect()
tasks = i.scheduled()
Run Code Online (Sandbox Code Playgroud)

现在我只需要弄清楚如何强制执行他们。

django celery

5
推荐指数
1
解决办法
857
查看次数

适用于所有网站,但不适用于浏览器

我想将时尚主题应用于所有inpux盒子,textareas和选择盒子,所以我写道:

@namespace url(http://www.w3.org/1999/xhtml);
textarea, input, select {
  background-color: white !important;
  color: black !important;
}
Run Code Online (Sandbox Code Playgroud)

我的理解是,这只适用于网页,但它也会影响URL栏,将其变为白色.有没有办法让它不影响URL栏?

我正在使用Firefox Nightly(版本43).

更新

如果你想让GTK3 Firefox看起来是一个黑暗的主题,最终的解决方案是一个时尚的配置:

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url-prefix('http://'), url-prefix('https://') {
  textarea, input, select {
    background-color: white !important;
    color: black !important;
  }
}
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.

css firefox stylish firefox-nightly

5
推荐指数
1
解决办法
410
查看次数

来自 Django 缓存的类型错误

更新:请参阅下面的“更好的解决方案”。

这个难倒我了。当我调用由 Django REST Framework 生成的 HTML 页面时,它可以工作。当我第二次、第三次、第四次调用它时,我得到:

[26/Oct/2015 15:14:42]"GET /api/rest/v3/dockets/ HTTP/1.1" 500 92424
Internal Server Error: /api/rest/v3/dockets/
Traceback (most recent call last):
  File "/home/mlissner/.virtualenvs/courtlistener/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 108, in get_response
    response = middleware_method(request)
  File "/home/mlissner/.virtualenvs/courtlistener/local/lib/python2.7/site-packages/django/middleware/cache.py", line 134, in process_request
    response = self.cache.get(cache_key, None)
  File "/home/mlissner/.virtualenvs/courtlistener/local/lib/python2.7/site-packages/django/core/cache/backends/locmem.py", line 54, in get
    return pickle.loads(pickled)
TypeError: __new__() takes exactly 3 arguments (2 given)
Run Code Online (Sandbox Code Playgroud)

与我从 Django 获得的 99% 的堆栈跟踪不同,这个堆栈跟踪根本没有提到我的代码,而且似乎只是来自 Django 本身的代码。

我正在使用开发服务器、Django 1.8.7、Django REST Framework 3.2.3 和 Python 2.7。

我的中间件设置是:

MIDDLEWARE_CLASSES = [
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', …
Run Code Online (Sandbox Code Playgroud)

python django pickle django-rest-framework

5
推荐指数
1
解决办法
346
查看次数