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'。
由于我正在重建 (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'。