簡體   English   中英

Solr在Rails的多個表中搜索

[英]Solr search in multiple tables in rails

我有三個表,分別是品牌,站點和項目類別。 我想在所有三個表中同時執行搜索功能。 我已經使用solr執行搜索。 以前,我一次只搜索一次。 這意味着,如果用戶輸入“ adidas”,那么我將在品牌表中搜索,如果找不到,那么我將在網站表中搜索,依此類推。 根據獲得的結果,我正在使用brand_id或site_id或category_id在其他表中搜索main_nav_url,並從main_nav_url表中獲取所需的列。 后來,我遇到了這種沖突,例如,如果在品牌和網站表中都出現了“阿迪達斯”名稱,我只會得到品牌的搜索結果。

請幫助我解決這個問題,我可以根據獲得的結果在所有三個表中同時進行搜索,提取它們的brand-id和site_id category_id,然后在main_nav_url表中再執行一次搜索。

我得到了答案。

分別執行solr搜索以檢索其brand_id,site_id和category_id。 將相應的ID存儲在數組中。 例如

@storesearch.results.each do |result|
    siteids << result.id
end

根據brandids,siteids,catids的長度,在main_nav_url表中執行solr搜索。 在這種情況下,必須對9種不同情況執行solr搜索。 下面顯示其中一種情況。

if(siteids.length == 0 && brandids.length!= 0 && catids.length!= 0)@ searchresults = MainNavigationUrl.search與:brand_id,brandids [0..brandids.length]與:main_category_id,catids一起做any_of [0..catids.length]結束

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM