2011-10-04 48 views
1

假设我有一个狮身人面像指数名为 “worldcities” 与具有以下字段/属性:如何评估/解释sphinxql查询?

COUNTRY_ID#INT属性

城市#文本字段

accent_city#文本字段

和我运行以下sphinxql查询:

SELECT * FROM worldcities WHERE country_id = 16 AND MATCH((@(city,accent_city) "New Yor*")) 

斯芬克斯如何评估s查询吗?: 它首先搜索所有记录,然后通过countr_id筛选结果: “给我所有以'New Yor'开始并按country_id过滤它们的结果?

还是先过滤国家ID并搜索结果: “给我所有有countr_id = 16的结果然后搜索那些”?

希望我自己清楚

回答

3

“给我所有以‘新约书’,并通过COUNTRY_ID过滤他们开始结果”

这一个。

全文查询首先运行。然后过滤器“排除”不需要的匹配。

顺便说一句,您的查询缺少一些报价,应该是

MATCH('@(city,accent_city) "New Yor*"') 

匹配功能需要一个字符串。

+0

是的,我终于明白了。这不是一个生产查询,只是一个例子。感谢你的回答。 –