class EasySolr::QueryItem

Attributes

Public Class Methods

new(custom_links, query_string, value) click to toggle source
# File lib/easy_solr/query_item.rb, line 7
def initialize(custom_links, query_string, value)
  @nn_solr_query_string = query_string
  @nn_solr_value        = value
  @nn_custom_links      = custom_links
end

Public Instance Methods

traslate_to_solr_str() click to toggle source

Description

最小单元的转化,将MySQL语法转转换成 Solr 可识别的查询字符串

第一步,参考 ::EasySolr::Expressions#solr_where
expr.solr_where(" title = ? and id = ? ", '奥迪', '620460')
转换成 "title = ?", '奥迪'

第二步
"title = ?", '奥迪'
转换成 "title : 奥迪"

第三步
"title : 奥迪"
转换成
"title_texts : 奥迪"

第四步, 参考 ::EasySolr::Expressions#query_string_for_solr
 组装所有QueryItem 生成 Solr 可用字符串
# File lib/easy_solr/query_item.rb, line 34
def traslate_to_solr_str
  @nn_solr_query_string.gsub!("=", ':').gsub!("?", @nn_solr_value)
  self.replace_with_custom_links
end