Sphinx 只使用属性而不使用全文字段进行搜索的适当方法?

Sphinx 只使用属性而不使用全文字段进行搜索的适当方法?,sphinx,Sphinx,假设我有这样一个表结构: name | groupId | locationId 我使用SphinxQL的实时索引功能来索引表中的记录,名称为全文,groupId和locationId为rt_attr_uint 我知道我可以使用SphinxQL进行全文搜索,并使用属性过滤结果。因此,例如,我可以搜索名字中有字母Bo的用户,例如Bob,然后过滤结果,只包括groupId=1和locationId=67的记录 但是,我的问题是,如果我只想使用属性过滤记录,而不进行全文搜索,或者我应该恢复到只进行M

假设我有这样一个表结构:

name | groupId | locationId
我使用SphinxQL的实时索引功能来索引表中的记录,名称为全文,groupId和locationId为rt_attr_uint

我知道我可以使用SphinxQL进行全文搜索,并使用属性过滤结果。因此,例如,我可以搜索名字中有字母Bo的用户,例如Bob,然后过滤结果,只包括groupId=1和locationId=67的记录

但是,我的问题是,如果我只想使用属性过滤记录,而不进行全文搜索,或者我应该恢复到只进行MySQL查询,那么使用SphinxQL是否仍然合适?例如,如果我想检索groupId=1和locationId=67的所有记录,而不考虑名称

我是问,而不是自己运行性能测试,因为我从来没有使用过Sphinx的实时索引,而且我还在努力弄清楚,实际上,我还没有决定是否使用它,所以我现在真的不能自己做测试


或者,直接进行完全不同的操作,我是否应该只创建groupId和locationId字段而不是属性,以便对它们进行索引?

坦率地说,我认为您只能通过测试来回答这个问题。Sphinx的性能曲线与MySQL非常不同,当然设计也非常不同——有些查询在Sphinx上运行得更好,有些查询在mysqlbtw上运行得更好,您可以使用磁盘索引进行“快速脏”测试。它们允许您使用不同的设置快速创建新的sphinx索引。然后可以使用这些索引来运行查询性能测试。只有在上线后才切换到使用正确的RT索引。