Class: Llmemory::Dashboard::SearchController

Inherits:
ApplicationController show all
Defined in:
app/controllers/llmemory/dashboard/search_controller.rb

Instance Method Summary collapse

Instance Method Details

#indexObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'app/controllers/llmemory/dashboard/search_controller.rb', line 6

def index
  @query = params[:q].to_s.strip
  @user_id = params[:user_id].presence

  if @query.empty?
    @short_term_results = []
    @file_based_results = []
    @graph_results = []
    return
  end

  if @user_id.present?
    @short_term_results = search_short_term(@user_id)
    if file_based?
      @file_based_results = file_based_storage.search_items(@user_id, @query) +
        file_based_storage.search_resources(@user_id, @query).map { |r| r.merge(type: "resource") }
    else
      @file_based_results = []
    end
    if graph_based?
      nodes = graph_based_storage.list_nodes(@user_id)
      q = @query.downcase
      @graph_results = nodes.select { |n| (n.respond_to?(:name) ? n.name : n[:name]).to_s.downcase.include?(q) }
    else
      @graph_results = []
    end
  else
    @short_term_results = []
    @file_based_results = []
    @graph_results = []
  end
end