所以,我已经实现了sunspot_rails宝石到我的应用程序能够利用强大的Solr的搜索引擎。 我最近检查了瑞安的railscast上全文搜索,我发现他在用额外的参数在他的搜索查询,例如“ - ”来表示的东西,不应该被包括在全文检索。
我从来没有听说过这个到现在为止,我在想,如果有一个用户友好的使用指导地方我和我的用户可以参考一下把我的搜索功能,它的最大能力。
我想,最好我想提出类似GitHub的降价备忘单的删节版的用户可以快速引用我的搜索形式。
所以,我已经实现了sunspot_rails宝石到我的应用程序能够利用强大的Solr的搜索引擎。 我最近检查了瑞安的railscast上全文搜索,我发现他在用额外的参数在他的搜索查询,例如“ - ”来表示的东西,不应该被包括在全文检索。
我从来没有听说过这个到现在为止,我在想,如果有一个用户友好的使用指导地方我和我的用户可以参考一下把我的搜索功能,它的最大能力。
我想,最好我想提出类似GitHub的降价备忘单的删节版的用户可以快速引用我的搜索形式。
太阳黑子使用Solr的DisMax查询分析器 ,它有一个非常简单的查询语法。 在大多数情况下,它的目的是灵活地分析用户创建的查询。
DisMax识别三种特殊字符: +
, -
以及"
从相关的资料:
[DisMax]被设计成通过用户没有特殊转义提供支持原始输入字符串。
'+'
和'-'
字符都被视为“强制”和“禁止”修饰符后续条款。 包裹在均衡引号字符文本'"'
被视为短语,仿佛没有引号字符在所有含有奇数个引号字符的任何查询求值。
还有一些其他的“幕后”选项调整匹配的文档的相关性。 例如,“最低匹配”指定的数目或“任选的”字段(即,不与前缀的比例-
或+
),它必须存在。 除了选择以提高特定领域的长期匹配项匹配,或靠近内彼此,等等。
在黑子,这些都暴露在options
参数到fulltext
方法,或作为提供给该方法的方块内的方法。