2014-12-29 61 views
0

我只是想知道是否有一种方法来为后端elasticsearch指定搜索请求的返回字段。有关如何在JSON API中指定列表,请参见http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html在django-haystack中指定搜索结果的列表字段

让我解释为什么我需要这个。我有大量的文字数据的文章。在这种情况下搜索非常缓慢,导致elasticsearch为每个搜索结果返回一个大的文本,但我只想渲染除整个文本以外的标题。

可能还有另一种方法吗?

回答

-1

有多种选择这里

  1. 您可以使用Elasticsearch领域选项来指定必须返回的字段值的列表。这将节省一些延迟时间,因为只有较少的数据必须被传回。但是实际的数据将被存储为_source,并且必须从硬盘中获取并且为每个调用进行反序列化。
    LINK - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html
  2. 如果我们不想检索此字段,但您只希望该字段可被搜索。您可以禁用_source并为其数据需要检索的每个字段启用存储。 LINK,_source - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-source-field.html LINK,商店 - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-store.html

Djanko草垛文档 - http://django-haystack.readthedocs.org/en/latest/searchresult_api.html#SearchResult.get_additional_fields

+0

这两个选项是为我好,但目前还没有选项'Django的haystack'为处理它:( –

+0

我在asnwer中添加了djanko干草堆文档链接。:) –

+0

我认为'get_additional_fields'可以做其他事情。 –

相关问题