2010-10-06 58 views
1

我有lucene充当我的数据提供者查询国家列表从一个正常工作的文本框做自动完成。做自动完成的最佳lucene查询选项

我的问题是关于应该发送什么类型的查询字符串以获得最期望的返回结果?

目前,我有沿东西线

var query = string.Format("*{0}*~0.5", txtCountry.Text) 

会不会有任何建议调整到了这种用法?

回答

1

改为使用拼写检查contrib。您正在执行的查询效率非常低,因为它使用了前导通配符。

如果你真的不想做一个n-gram索引,那么我想我没有看到任何真正的改进(除非明显增加允许的距离会增加结果的数量)。

+0

我正在考虑删除前导通配符,因为它对用户的操作方式有点不明显。使用拼写检查的东西可能对我来说目前是不可行的,所以我想我暂时不得不忍受这一点。 – 2010-10-06 23:13:43