每个人都知道你的可搜索模型你可以定义一个类型的索引:text以及:string,例如:
class Post < ActiveRecord::Base
searchable do
string :title
text :title, :body
end
我尝试搜索文本字段类型和字符串字段类型之间的基本差异,并且能够获得如下基本理解:
所以我在这里寻找的是文本字段类型和字符串字段类型之间的所有概念以及 USAGE 差异,以便我可以权衡我的意见将字段定义为字符串或文本或两者。
注意:我并不是说您在一个答案中提供所有差异,每个答案也会有一个差异,但请确保您给出的差异尚未给出。< / p>
答案 0 :(得分:16)
文字字段
当文本字段被索引时,它们被分解为它们的组成单词,然后使用一组可定义的过滤器进行处理(使用Sunspot的默认Solr安装,它们只是较低的)。此过程称为标记化,它允许使用全文匹配搜索文本字段。您可以在Solr wiki http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters上阅读有关标记化和可用过滤器选项的更多信息。
字符串字段
字符串字段存储字符串数据。这与文本字段有何不同?文本字段被标记化,也就是说它被分解成组成单词;这就是全文搜索的工作原理。另一方面,字符串字段只是按原样索引:索引数据从头到尾完全是字符串。
<强>文档强>
https://github.com/sunspot/sunspot/wiki/Setting-up-classes-for-search-and-indexing