0

照片模型我有以下簡單的規則:的Rails 3 - Solr的不搜索的項目

searchable do 
    string :note 
    end 

,我試圖尋找一些字符串Solr的(在兩個表中同時進行)。這是Solr的查詢的在終端中輸出(第一個爲文章,第二個爲照片):

SOLR請求(4.8ms)[路徑=#參數= {數據:FQ =類型%3A 第& q = searched_string & FL =%2A +得分& QF =標題+含量& DEFTYPE = dismax &開始= 0 &行= 30,方法:柱,則params:{:WT = >:ruby},query:wt = ruby​​,頭文件: {「內容類型「=>」應用/ X WWW的窗體-urlencoded;字符集= UTF-8" }, 路徑:選擇,URI:http://localhost:8982/solr/select?wt=ruby, open_timeout:,read_timeout:}]

SOLR請求(4.4ms)[路徑=# 參數= {數據:FQ =類型%3A 照片& q = asgasg & FL =%2A +得分& DEFTYPE = dismax &開始= 0 &行= 30,方法:柱,則params:{:重量=>: ruby},查詢:wt = ruby​​,head ers: {「Content-Type」=>「application/x-www-form-urlencoded;字符集= UTF-8" }, 路徑:選擇,URI:http://localhost:8982/solr/select?wt=ruby, open_timeout:,read_timeout:}]

控制器:

@articles = Article.search do 
    fulltext params[:search] 
end 
@photos = Photo.search do 
    fulltext params[:search] 
end 
## => searching ## 
puts @articles.results #work fine 
puts @photos.results #always 0 

我完全不知道,爲什麼沒有按SOLR 「T在照片模型搜索......一切應規定而設置的,但還是不知道是哪裏出了問題......

回答

1

我想在照片模式,你必須定義:note爲以在其上運行全文檢索型(不string):

searchable do 
    text :note 
end 

此外,您還設置@articles@photos,但檢查你的問題@users@photos

UPDATE

根據sunspot readme

「文本字段將進行全文搜索的其他領域(如,整數和字符串)可用於範圍查詢」

也就是說,在該場運行fulltextkeywords,它必須被聲明爲text在搜索塊。你把它當作string,它可以只能用於使用with()精確匹配

好運

+0

'note'是'varchar(255)',而不是使用'fulltext'我試圖使用那裏的關鍵字',但仍然沒有。 – user984621 2012-03-07 18:32:36

+0

謝謝你的幫助,西蒙。我在單獨的帖子中發佈瞭解決方案。那麼......我也試着用'with' clausule來使用字符串,但是這並不奏效......我嘗試在文本/字符串列上進行搜索,並且它沒有設置'with'部分就能正常工作。它看起來總是需要重新索引SOLR,如果在模型中的「searchable」部分做了一些修改...... – user984621 2012-03-07 23:16:57

0

我的問題的工作方案:。 1.停止軌道服務器 2.耙太陽黑子:REINDEX 3.運行軌道服務器

如果searchable塊中的所有內容都發生了變化,則需要重新索引數據。