在Sphinx SQL中将权重设置为列

时间:2014-03-19 13:46:50

标签: sql search sphinx

我有像这样的sphinx索引查询:

SELECT author_id 
  FROM books 
 WHERE MATCH(%s) 

我想为列设置特定权重。例如,列book_titlebook_description重要得多,它比book_content更重要。

例如我会设置:

  • book_title体重:10
  • book_description体重:5
  • book_content体重:1

如何在sql查询中执行此操作?

1 个答案:

答案 0 :(得分:4)

请参阅in the manual,您可以使用field_weights关键字在每个查询的基础上传递OPTION。在您的情况下,您可能想要使用

SELECT * FROM books WHERE MATCH(%s)
OPTION field_weights=(book_content=1, book_description=5, book_title=10)