Поскольку я перестраиваю (rebuild_index), имена полей, возвращаемые из facets.fields, начинают исчезать, как если бы они были перезаписаны. Например ... если факс-поля отображали список (a, b, c, d) при первом обновлении, он будет отображать (a, b, c) на втором, и в конечном итоге список будет наполовину полный.Django Haystack Solr facets.fields исчезает
Я мог бы сгенерировать список значений вне поля 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, исчезают поля фасета.
** Обновление
Список был несколько пунктов, более 100 огранки будет показывать только первые 100 результатов, если добавить «предел» аргумент. В моем случае «limit = -1» для всех результатов.