在haystack中的索引分析器与查询分析器 - elasticsearch?

时间:2013-11-26 08:42:35

标签: django elasticsearch django-haystack

Elasticsearch本身似乎支持索引分析器和查询分析器,
但是,干草堆的弹性搜索似乎并没有区分它们。

我纠正吗?

相关问题是,

Elasticsearch的DEFAULT_SETTING似乎有'settings.analysis.anaylyzer'和'index.analysys.anaylyzer'。 (例如。http://www.wellfireinteractive.com/blog/custom-haystack-elasticsearch-backend/有'索引')它们之间的区别是什么?

1 个答案:

答案 0 :(得分:3)

使用haystack,您需要自己设置映射。

我之前在这里写过干草堆:Django Haystack Distinct Value for Field

在设置中,您可以基于每个字段定义分析器,它们可以是默认分析器(这是haystack默认使用并在搜索和索引时获得的)搜索时间分析器和查询时间分析器。

通常很好的做法是定义搜索时间分析器和索引时间分析器,即使它们完全相同。

使用雪球文本分析,您可能希望在搜索和索引时应用此功能,但有些功能类似自动填充功能,您可能不需要(干草堆的功能)。您希望索引分析器存储(边缘)ngrams,并且通常您希望应用更严格的搜索时间分析,如关键字。

你几乎从不想让haystack定义映射。

关于第二部分,请参见此处:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-create-index.html

中途向下说:

  

“请注意,您不必在里面明确指定索引部分   设置部分。“

我自己也试过这个,因为我从未测试过它。