Django Haystack Solr facets.fields 正在消失

Django Haystack Solr facets.fields disappearing

由于我正在重建 (rebuild_index),从 facets.fields 返回的字段名称开始消失,就好像它们正在被覆盖一样。例如...如果 facets.fields 在第一次更新时显示 (a, b, c, d) 的列表,那么它将在第二次更新时显示 (a, b, c) 并且最终列表将完成一半。

我可以在使用 facets.fields 之外生成一个值列表,但我认为这不是必需的,而且我忽略了一些简单的事情。任何帮助将不胜感激,谢谢。

schema.xml

<field name="models" type="text_en" indexed="true" stored="true" multiValued="true" termVectors="true" />
<field name="models_exact" type="string" indexed="true" stored="true" multiValued="true" termVectors="true" />

search_indexes.py

models = indexes.MultiValueField(faceted=True)

def prepare_models(self, obj):
    return [g for g in obj.model.all()]

*_text.txt

{% for model in object.model.all %}
    {{ model|safe }}
{% endfor %}

template.html

{% if facets.fields.models %}
    <form name="drilldown_models" action="{% url 'cmaster:search' %}" method="GET">
        <span class="faceting-title">Models</span>
        <select name="selected_facets">
        {% for model in facets.fields.models %}
            {% if model.1 > 0 %}
                <option value="models_exact:{{ model.0 }}">{{ model.0 }} : {{ model.1 }}</option>
            {% endif %}
        {% endfor %}
        </select>
        {% for fac in selected_facets %}
            <input type="hidden" name="selected_facets" value="{{ fac }}">
        {% endfor %}
        <input type="hidden" name="q" value="{{ query }}">
        <input type="submit">
    </form>
{% else %}
    <p>No model facets.</p>
{% endif %}

tldr;在 rebuild_index 期间刷新我的模板页面显示 facet 字段消失。

** 更新

列表中有几项超过 100。分面将仅显示前 100 个结果,除非添加 'limit' 参数。在我的例子中,所有结果都是 'limit=-1'。

列表中有几项超过 100。分面将仅显示前 100 个结果,除非添加 'limit' 参数。在我的例子中,所有结果都是 'limit=-1'。