假设我有一个名为“worldcities”的sphinx索引,其中包含以下字段/属性:
country_id #int属性
city#text field
accent_city #text field
我运行以下sphinxql查询:
SELECT * FROM worldcities WHERE country_id = 16 AND MATCH((@(city,accent_city) "New Yor*"))
sphinx如何评估查询?: 它首先搜索所有记录,然后按countr_id过滤结果: “给我所有以'New Yor'开头并按country_id过滤它们的结果”?
或者首先按国家/地区ID过滤,然后搜索结果: “给我所有结果,其中countr_id = 16然后搜索那些”?
希望我能说清楚答案 0 :(得分:3)
这个。“给我所有以'New Yor'开头并按country_id过滤它们的结果”
首先运行全文查询。然后过滤器'排除'非必需匹配。
顺便说一下,你的查询缺少一些引号,应该是
MATCH('@(city,accent_city) "New Yor*"')
匹配功能需要一个字符串。