Tire/ElasticSearch を使用して、データベース内のすべてのタグのアルファベット順のブラウズを作成しています。ただし、タイヤ検索では、同じアイテムに関連付けられている他のすべてのタグだけでなく、必要なタグも返されます。たとえば、私の手紙が「A」で、アイテムに「aardvark」と「biscuit」というタグが付いている場合、「aardvark」と「biscuit」の両方が「A」クエリの結果として表示されます。「ツチブタ」のみを取得するようにこれを構築するにはどうすればよいですか?
def explore
#get alphabetical tire results with term and count only
my_letter = "A"
self.search_result = Tire.search index_name, 'tags' => 'count' do
query {string 'tags:' + my_letter + '*'}
facet 'tags' do
terms 'tags', :order => 'term'
end
end.results
end
マッピング:
{
items: {
item: {
properties: {
tags: {
type: "string",
index_name: "tag",
index: "not_analyzed",
omit_norms: true,
index_options: "docs"
},
}
}
}
}