sql - 在 Sphinx SQL 中设置列​​的权重

标签 sql search sphinx

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

SELECT author_id 
  FROM books 
 WHERE MATCH(%s) 

我想为列设置特定的权重。例如,book_title 列比 book_description 重要得多,并且比 book_content 更重要。

例如我会设置:

  • 书名重量:10
  • book_description 重量:5
  • book_content 重量:1

如何在sql查询中做到这一点?

最佳答案

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

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

关于sql - 在 Sphinx SQL 中设置列​​的权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22507915/

相关文章:

sql - Oracle:识别时间序列中的峰值

sql - CASE...WHEN 在 Postgresql 中的 WHERE 子句中

MySQL - 按 UNIX_TIMESTAMP 对 1970 年之前的日期进行分组

caching - 提交时防止 solr 缓存刷新

java - 如何使用 bfs 和 java 中的路由表在图中绘制最安全的路由

sql - TSQL:将一行中所有字段的值合并为一个字符串

android - 如何在谷歌商店找到你的应用程序?

php - 数据规范化还是智能搜索?

centos - searchd 有 2 个进程,而它应该是一个

search - 在 Sphinx 搜索中,如何将 "hashtag"添加到 charset_table?