网站jsp充值和体现系统怎么做,图片博客 wordpress,wordpress略缩图,专业建设网站技术给定一组标签 [{“tag_id”: “1”, “value”: “西瓜”}, {“tag_id”: “1”, “value”: “苹果”}]#xff0c;我想精准匹配到现有的标签库中存在的标签并记录匹配成功的数量。
标签id(tag_id)标签名(tag_name)标签值(tag_name )1水果西瓜1水果苹果1水果橙子2动物老虎
…给定一组标签 [{“tag_id”: “1”, “value”: “西瓜”}, {“tag_id”: “1”, “value”: “苹果”}]我想精准匹配到现有的标签库中存在的标签并记录匹配成功的数量。
标签id(tag_id)标签名(tag_name)标签值(tag_name )1水果西瓜1水果苹果1水果橙子2动物老虎
这个步骤需要sql中的and操作即
es中的must条件
{query: {bool: {must: [{term: {条件1: ok}},{term: {条件2: 123}}]}}
}要同时满足条件1条件2这个查询才会有结果。里面的term表示精准查询。
这个步骤需要sql中的or操作即
es中的should条件
{query: {bool: {should: [{match: {条件1: ok}},{match: {条件2: 666}}]}}
}满足条件1条件2任意一个查询都会有结果。里面的match表示模糊查询。
查询
我需要查询给定这组标签 [{“tag_id”: “1”, “value”: “西瓜”}, {“tag_id”: “1”, “value”: “苹果”}]在现有的标签库出现的次数这既需要tag_id和value的and关系又需要外层的or关系查询的语句如下 # 执行查询
query_terms [{tag_id: 1, value: 西瓜}, {tag_id: 1, value: 苹果}]
query {query: {bool: {should: [{bool: {must: [{term: {value: term[value]}},{term: {tag_id: term[tag_id]}}]}} for term in query_terms]}}
}
查库结果 # 执行查询并输出结果
search_result es.search(indexindex_name, bodyquery)
num_matches search_result[hits][total][value]
print(num_matches)if search_result[hits][total][value] 0:print(没有匹配的结果。查询条件:, query_terms)
else:print(查询结果:)for hit in search_result[hits][hits]:print(ID:, hit[_id], Score:, hit[_score], Data:, hit[_source])