在solr哪种搜索更好(性能方面)?使用EdgeNGram或通配符搜索自动完成?

Vik*_*ati 2 solr n-gram django-haystack

我有一个大约40k行的数据集,每行有4个字段.现在我想对文本框中的这4个字段使用自动完成机制(必须在显示建议之前将这4个字段中的值连接成一个字符串).哪种查询会扩展并且表现更好?EdgeNGrams上的自动完成或简单文本索引上的通配符搜索.

Jay*_*dra 5

现在我想对文本框中的这4个字段使用自动完成机制
- 使用copyfield将所有四个字段转储到单个字段中,并将该字段用于Autosuggest

在显示建议之前,必须将这4个字段中的值连接成一个字符串
- 将值保存为存储,并且可以在客户端完成连接.

EdgeNGrams上的自动完成或简单文本索引上的通配符搜索.
- EdgeNGrams主要是索引时间,并且会提供更快的搜索结果,索引时间和索引大小也会增加
- 通配符查询速度较慢,但​​如果索引太小可能不会对性能产生太大影响,则会依赖于索引大小.注 - 对通配符查询不执行Anaylsis.
- 您可以考虑自动提示的Solr术语.使用Solr术语,您将无法获得原始字段,但只获得结果但速度更快
- 还要检查Solr建议者