小编Obj*_*_88的帖子

使用Python的弹性搜索进行批量更新

我正在尝试基于文档属性的状态更改进行批量更新.创建工作正常,但批量是吓坏了.我收到"脚本或文档丢失"效果的错误,但一切看起来都不错.

以下是我尝试批量更新的方法:

frequency_cleared = [
    {
        "_id": result['_id'], 
        "_type": "the-type", 
        "_index": "the-index", 
        "_source": result['_source'],
        "_op_type": 'update'
    } 
    for result in search_results['hits']['hits']
]
Run Code Online (Sandbox Code Playgroud)

我在迭代结果的原因是因为我在列表中使用了一个if理解,但是因为我能够看到结果,所以我知道这不是问题.我无法显示结果,不得不更改属性名称,因为这是我工作的公司.

这是追溯:

Elasticsearch.exceptions.RequestError: 
TransportError(400, 'action_request_validation_exception',
  'Validation Failed: 1: script or doc is missing...') 
Run Code Online (Sandbox Code Playgroud)

省略号表示它显示列表中每个元素失败的相同错误.

python elasticsearch elasticsearch-py

8
推荐指数
1
解决办法
5746
查看次数

WebkitSpeechRecognition随机停止录制

我正在尝试对文本转录进行连续的演讲,但似乎无法让webkitSpeechRecognition像宣传的那样工作.它似乎随机停止录制(通常在长时间的静音之后),即使我设置了continuous = true和interimResults = true.当我在EVERY.SINGLE.EVENT中放入一个简单的日志语句时,我甚至无法弄清楚导致这种随机停止的原因.webkitSpeechRecognition基于我能找到的文档.这是我所拥有的脚本(基本上是演示https://www.google.com/intl/en/chrome/demos/speech.html上的一个小模块)

我知道的:

录制前不会记录任何错误.

我正处于千兆位连接,因此没有延迟相关.

它会在长时间停顿后正常停止,但有时会无故停止.

它可能在2分钟或30秒后发生.

我评论了下面的一些内容,但我已经尝试了所有这些,但没有成功跟踪问题.

    var final_transcript = '';
    var recognizing = false;
    var ignore_onend;
    var start_timestamp;
    if (!('webkitSpeechRecognition' in window)) {
        upgrade();
    } else {
        var recognition = new webkitSpeechRecognition();
        recognition.continuous = true;
        recognition.interimResults = true;

        recognition.onstart = function () {
            recognizing = true;
        };

        recognition.onerror = function (event) {
            console.log("ERROR")
            recognizing = false
            recognition.stop()
            recognizing = true
            recognition.start()
            if (event.error == 'no-speech') {
                console.log("NO SPEECH")
            }
            if (event.error == 'audio-capture') …
Run Code Online (Sandbox Code Playgroud)

javascript webkitspeechrecognition

7
推荐指数
1
解决办法
1529
查看次数

排队调用中的rq超时参数不起作用,给出JobTimeoutException

我正在尝试更改RQ工作的超时时间,但是似乎没有任何效果。我有一些效果:

my_queue = Queue('my_task', connection=Redis())

job_args = (1, 2, 4)

my_queue.enqueue_call(
                    my_func,
                    args=job_args,
                    timeout=2700
            )
Run Code Online (Sandbox Code Playgroud)

但我仍然

JobTimeoutException: Job exceeded maximum timeout value (180 seconds)
Run Code Online (Sandbox Code Playgroud)

我非常拼命,甚至尝试进入rq模块queue.py并将超时的默认参数更改为2700和DEFAULT_TIMEOUT(在Queue类中定义的变量,其中包含enqueue_call方法)。我是否缺少任何东西?有人知道吗?谢谢!

python redis python-rq

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

根据 Django 表单中的其他字段显示表单字段

我正在尝试创建一种方法,根据同一表单中另一个字段的绑定数据仅显示 django 表单中的某些字段。我熟悉 form.field.bound_type 的想法,但我不确定如何不断检查表单中字段的状态更改并相应地更新其他字段。就像您在填写申请表时询问您是否犯罪一样,如果您单击“是”,则会弹出一个详细信息文本区域。

我正在使用: Django 1.8.4 Bootstrap3 6.6.2

因为它与这个问题有关。以下是我目前为工作保护而编辑的字段值。它确实有一些工作。这意味着表单很好,if 语句最初可以工作,但一旦指定字段发生更改,它就不会重新评估 if 。

<form action= "/send_email/" method="post" class='col-sm-5'>
    {% csrf_token %}
    {% bootstrap_field form.field_one%}
    {% bootstrap_field form.field_two%}
    {% bootstrap_field form.field_three%}
    {% if form.field_three.bound_data == "A Value" %}
        {% bootstrap_field form.field_four%}
    {% endif %}
    {% buttons %}
        <button type="submit" class="btn btn-primary">
            {% bootstrap_icon "glyphicon glyphicon-ok-circle" %} Submit
        </button>
    {% endbuttons %}
</form>
Run Code Online (Sandbox Code Playgroud)

解决方案:在 Birdie 的帮助下,我找到了解决方案。对于遇到相同 Django 相关问题的任何人,这里介绍了如何基于同一表单中的另一个字段添加或删除字段。

<script>

    // function that hides/shows field_four based upon field_three value
    function check_field_value(new_val) { …
Run Code Online (Sandbox Code Playgroud)

forms django twitter-bootstrap-3

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

如何创建网格样式QListWidget?

我目前正在处理一个我想以网格样式设置的列表,并且很好奇我该怎么做。我不认为表格会起作用,因为我希望将其格式化为:

option  option  option  option

option  option  option  option

option  option  option  option

option  option  option  option
Run Code Online (Sandbox Code Playgroud)

每行约4个选项,没有更多信息分成几列,每行代表一个ListWidgetItem。

python qt qt4 pyqt pyside

2
推荐指数
1
解决办法
2343
查看次数