1

因此,我在我的应用程序中实现了 sunspot_rails gem,以利用强大的 Solr 搜索引擎。我最近查看了 Ryan关于全文搜索的railscast ,我注意到他在搜索查询中使用了其他参数,例如“-”来表示不应包含在全文搜索中的内容。

直到现在我才听说过这个,我想知道是否有一个用户友好的使用指南,我和我的用户都可以参考,以最大限度地发挥我的搜索功能。

我认为理想情况下,我想为我的搜索表单制作一个类似于 Github 的 markdown 备忘单的精简版本,以便用户可以快速参考。

4

1 回答 1

4

Sunspot 使用 Solr 的DisMax Query Parser,它具有非常简单的查询语法。在大多数情况下,它旨在灵活地解析用户创建的查询。

DisMax 可识别三个特殊字符:+-"。从文档中:

[DisMax] 旨在支持用户提供的原始输入字符串,无需特殊转义。'+''-'字符被视为后续术语的“强制”和“禁止”修饰符。包含在平衡引号字符中的文本'"'被视为短语,任何包含奇数个引号字符的查询都被评估为好像根本没有引号字符。

还有一些其他“幕后”选项可以调整匹配文档的相关性。例如,“最小匹配”指定必须存在的“可选”字段(即,不以-or为前缀)的数量或比例。+以及增强特定领域中的术语匹配或彼此靠近的术语匹配的选项,等等。

在 Sunspot 中,这些都暴露在方法的options参数中fulltext,或者作为提供给该方法的块中的方法。

于 2012-08-21T20:19:34.777 回答