在django-haystack中指定用于搜索结果的列表字段

时间:2014-12-29 06:57:30

标签: django elasticsearch django-haystack

我只是想知道有没有办法为后端elasticsearch指定搜索请求的返回字段。有关如何在JSON API中指定列表,请参阅http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html

让我解释为什么我需要这个。我有很多关于大文本数据的文章。在这种情况下搜索非常慢,因为elasticsearch会为每个搜索结果返回一个完整的大文本,但我想只渲染除了整个文本之外的标题。

可能还有其他办法吗?

1 个答案:

答案 0 :(得分:-1)

这里有多个选项

  1. 您可以使用Elasticsearch中的fields选项指定必须返回的字段值列表。这将节省一些延迟时间,因为只需要传回更少的数据。但是实际数据将存储为_source,必须从硬盘中获取并为每次调用反序列化。
    链接 - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-fields.html
  2. 如果我们不想检索此字段,但您只希望该字段可搜索。您可以为需要可检索数据的每个字段禁用_source并启用store。 链接,_source - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-source-field.html LINK,store - http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index-modules-store.html
  3. Djanko haystack文档 - http://django-haystack.readthedocs.org/en/latest/searchresult_api.html#SearchResult.get_additional_fields

相关问题