我有一个大约 40k 行的数据集,每行有 4 个字段。现在我想对文本框中的这 4 个字段使用自动完成机制(必须在显示建议之前将这 4 个字段中的值连接成一个字符串)。哪种查询可以扩展和执行得更好?EdgeNGrams 上的自动完成功能或简单文本索引上的通配符搜索。
问问题
669 次
1 回答
5
现在我想对文本框中的这 4 个字段使用自动完成机制
- 使用copyfield将所有四个字段转储到一个字段中,并将该字段用于自动建议
在显示建议之前,必须将这 4 个字段中的值连接成一个字符串
- 将值保持为存储状态,并且可以在客户端完成连接。
EdgeNGrams 上的自动完成功能或简单文本索引上的通配符搜索。
- EdgeNGrams 主要是索引时间,将提供更快的搜索结果,增加索引时间和索引大小
- 通配符查询速度较慢,但如果索引大小太小可能不会对性能产生太大影响,则将取决于索引大小。注意 - 通配符查询不执行任何分析。
- 您可以考虑使用 Solr 术语进行自动建议。使用 Solr 术语,您不会得到原始字段,而只会得到结果,但会更快
- 另请查看Solr 建议器
于 2013-03-19T07:53:09.773 回答