mysql - ThinkingSphinx 匹配精确短语

标签 mysql ruby-on-rails-3 full-text-search sphinx thinking-sphinx

我在 Rails 3 中使用 Sphinx 和 ThinkingSphinx gem 进行搜索。我想为 sphinx 索引的列搜索特定字符串的精确匹配,但似乎没有好的方法。根据 ThinkingSphinx 文档,匹配模式是 :any、:phrase、:all,但它们似乎都在子字符串上搜索。例如,搜索“1997”也会匹配“1997 Honda”或“1997 Ford”。在我的情况下,我想搜索“1997”的精确匹配,因此“1997 Honda”和“1997 Ford”不应该匹配。这对 MySQL 来说很简单,但我还没有找到这样做的方法。

谢谢!

最佳答案

Sphinx 在 0.9.9-rc2 版本中引入了 field-start 和 field-end 运算符。

要使用您的示例,您将搜索“^1997$”

关于mysql - ThinkingSphinx 匹配精确短语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6015926/

相关文章:

ruby-on-rails - 使用单表继承 (STI) 时验证类型的正确方法是什么?

mysql - 为什么 InnoDB 不支持全文搜索索引,而 MyISAM 支持全文搜索索引?

php - Multi-Tenancy - 预先或根据需要创建表?

php - Echo DISTINCT 行以从 MYSQL 中删除重复结果

mysql - 选择 'one has many' mySQL 查询

ruby-on-rails - 使用 'reform' gem 和嵌套路由

jquery - 使用 jQuery 创建表单,正常提交后 session 变量消失

search - Lucene 或 Mysql 全文搜索

algorithm - 什么是最快的全文搜索算法/API(开源或商业)?

php - 有没有办法查看准备好的查询,因为它将在数据库上执行?