[英]How to remove _source from search results in Tire gem for elasticsearch
[英]Exclude indexed data in search results - elasticsearch (tire)
我正在嘗試通過輪胎寶石將Elasticsearch用於多租戶應用程序。 該應用程序有許多帳戶,每個帳戶都有許多用戶。
現在,我想根據帳戶ID為用戶編制索引。
用戶模型:
include Tire::Model::Search
mapping do
indexes :name, :boost => 10
indexes :account_id
indexes :company_name
indexes :description
end
def to_indexed_json
to_json( :only => [:name, :account_id, :description, :company_name],
)
end
搜索查詢:
User.tire.search do
query do
filtered do
query { string 'vamsikrishna' }
filter :term, :account_id => 1
end
end
end
過濾器工作正常,並且僅顯示過濾后的帳戶ID(1)的結果。 但是,當我搜索查詢字符串1時:
User.tire.search do
query do
filtered do
query { string '1' }
filter :term, :account_id => 1
end
end
end
假設有一個名為1的用戶。在這種情況下,將為帳戶ID為1的所有用戶以及該用戶顯示結果。 這是因為我在to_indexed_json中添加了account_id。 現在,如何只顯示名稱為1的用戶? (所有用戶都不能在匹配中使用。僅顯示名稱為1的用戶)
當沒有用戶使用名稱或公司名稱或描述作為1時,我只是不希望顯示任何結果。 但是,按照我的解釋,我將使所有用戶都進入帳戶ID 1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.