def test_query(self): client = Client(ClientTests.url) self.assertEqual( client.agent, 'python-opensearch <https://github.com/edsu/opensearch>') results = client.search("computer") self.assertTrue(results.totalResults > 0)
def define(bot, trigger): """ Da la definición de un término segun rae. """ if not trigger.group(2): bot.say(trigger.nick + ': debes indicar un término a buscar en el diccionario.') return try: word = trigger.group(2) client = Client('http://dirae.es/static/opensearch.xml') results = client.search(word) max = 0 for result in results: max = max + 1 if result.title == word: output = result.summary url = 'http://lema.rae.es/drae/srv/search?val='+word elif max > 3: break if output: bot.say(output.replace('<em>', '\002').replace('</em>', '\002')) bot.say(url) else: bot.say('No he encontrado ese término!') except Exception as e: bot.say(trigger.nick + ': No pude obtener la definición de ese término, lo siento.') print "{error}: {msg}".format(error=type(e), msg=e)
def open_stream(self, stream): if type(self.streamLocation) == tuple: c = Client(self.streamLocation[0]) self.query = streamLocation[1] else: osd = self.factory.get_setting(session, 'osdUrl', '') if osd: c = Client(osd) else: raise ConfigFileException self.query = streamLocation return c
def search(request): """Search the repository for the given terms.""" client = OpenSearchClient(OPENSEARCH_URL) terms = urllib.unquote(request.params.get('q', '')).decode('utf8') results = client.search(terms) records = [] for result in results: records.append({'title': result.title, 'link': _fix_url(result.link), 'summary': result.summary_detail['value'], }) return {'records': records, 'q': terms, }
def search(request): client = OpenSearchClient(OPENSEARCH_URL) terms = urllib.unquote(request.GET.get('q', '')).decode('utf8') results = client.search(terms) records = [] for result in results: records.append({'title': result.title, 'link': _fix_url(result.link), 'summary': result.summary_detail['value'], }) return render_to_response('moduleviewer/search.html', {'title': SITE_TITLE, 'records': records, 'search_terms': request.GET.get('q'), })
def test_after_update_get(): client = Client(app_key, app_secret, base_url) indexDoc = IndexDoc(client, index_name) ret = yield from indexDoc.get(doc_id, table_name) client.session.close() print(ret) assert ret['status'] == 'OK'
def test_create(): client = Client(app_key, app_secret, base_url) indexApp = IndexApp(client) ret = yield from indexApp.create(index_name, 'tpl_test') client.session.close() assert ret['status'] == 'OK' time.sleep(5)
def test_status(): client = Client(app_key, app_secret, base_url) indexApp = IndexApp(client) ret = yield from indexApp.status(index_name) client.session.close() assert ret['status'] == 'OK' print(ret['result'])
def test_suggest(): client = Client(app_key, app_secret, base_url) suggest = Suggest(client, index_name) ret = yield from suggest.call('open', 'test_suggest', hit=10) print(ret) client.session.close() assert len(ret['suggestions']) > 0
def test_adds(): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) docs = [] item = {} item['id'] = 2 item['owner_id'] = 2 item['catalog_id'] = [11, 56] item['title'] = u"阿里云开源众包计划 - OpenSearch C++ SDK 开发" item[ 'text'] = u"阿里云开源众包计划 - OpenSearch C++ SDK 开发 100%实现阿里云OpenSearch的C++语言SDK 需要跨Windows、Linux、MacOS三个平台" item['updated'] = 1439514278 item['created'] = 1439514278 docs.append(item) item = {} item['id'] = 3 item['owner_id'] = 1 item['catalog_id'] = [12, 34] item['title'] = u"阿里云开源众包计划 - OpenSearch Python SDK 开发" item[ 'text'] = u"阿里云开源众包计划 - OpenSearch Python SDK 开发 项目结束后,开发者需要继续三个月的bug维护期" item['updated'] = 1439514278 item['created'] = 1439514278 docs.append(item) ret = indexDoc.add(docs, table_name) assert ret['status'] == 'OK' time.sleep(5)
def test_errlog(): client = Client(app_key, app_secret, base_url) errLog = ErrorLog(client, index_name) ret = yield from errLog.call(1, 50, sort_mode=const.LOG_SORT_ASC) print(ret) client.session.close() assert ret['status'] == 'OK'
def doc_add(docs): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) ret = indexDoc.add(docs, table_name) assert ret['status'] == 'OK' print(ret) time.sleep(10)
def test_create(): client = Client(app_key, app_secret, base_url, lib=client_name) indexApp = IndexApp(client) ret = indexApp.create(index_name, 'tpl_test') print(ret) assert ret['status'] == 'OK' time.sleep(2)
def test_get_all_page(): client = Client(app_key, app_secret, base_url, lib=client_name) indexApp = IndexApp(client) ret = indexApp.getAll(page=1, size=50) print(ret) assert ret['status'] == 'OK' print(ret['result'])
def test_suggest(): ''' must had set suggest rule name "test_suggest" ''' client = Client(app_key, app_secret, base_url, lib=client_name) suggest = Suggest(client, index_name) ret = suggest.call('open', 'test_suggest', hit=10) print(ret) assert len(ret['suggestions']) >= 0
def test_errlog_post(): client = Client(app_key, app_secret, base_url, lib='httplib') errLog = ErrorLog(client, index_name) ret = errLog.call(1, 50, sort_mode=const.LOG_SORT_ASC, method=const.HTTP_POST) print(ret) assert ret['status'] == 'OK'
def test_update(): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) doc = { "id": doc_id, "title": "这是一个测试标题的[修改]", "text": "这是一个测试标题的修改 OpenSearch" } ret = indexDoc.add(doc, table_name) assert ret['status'] == 'OK' time.sleep(5)
def doc_update(): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) doc = { "id": doc_id, "title": "this is a test title [modify]", "text": "this is a test title [modify] OpenSearch" } ret = indexDoc.add(doc, table_name) time.sleep(2) print('update doc status: ', ret['status'])
async def doc_update(): client = Client(app_key, app_secret, base_url) indexDoc = IndexDoc(client, index_name) doc = { "id": doc_id, "title": "this is a test title [modify]", "text": "this is a test title [modify] OpenSearch" } ret = await indexDoc.add(doc, table_name) client.session.close() time.sleep(5) print('update doc status: ', ret['status'])
def test_push_update(): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) status = indexDoc.pushCSVFile('update', './test/test.csv', table_name, 0, 'id', multi_fields=['catalog_id']) print(status) assert status == 'OK' time.sleep(5)
def test_add(): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) doc = { "id": doc_id, "title": u"这是一个测试标题", "text": u"这是一个测试标题 OpenSearch", "updated": 1439514278, "created": 1439514278 } ret = indexDoc.add(doc, table_name) assert ret['status'] == 'OK' time.sleep(5)
def search(): client = Client(app_key, app_secret, base_url, lib=client_name) indexSearch = Search(client) indexSearch.query = "default:'opensearch'" indexSearch.addIndex(index_name) indexSearch.addSort('updated', const.SEARCH_SORT_DESC) indexSearch.fetch_fields = ['id', 'title', 'updated'] indexSearch.addAggregate('created', 'count()') indexSearch.addDistinct('owner_id') indexSearch.start = 0 indexSearch.hits = 50 ret = indexSearch.call() print('search result: ', ret)
def doc_add(): # client = Client(app_key, app_secret, base_url) client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) doc = {} doc['id'] = doc_id doc['owner_id'] = 1 doc['catalog_id'] = [12, 34] doc['title'] = u"this is a test title" doc['text'] = u"this is a test title OpenSearch" doc['updated'] = 1439514278 doc['created'] = 1439514278 ret = indexDoc.add(doc, table_name) time.sleep(2) print('add doc status: ', ret['status'])
def test_scroll(): client = Client(app_key, app_secret, base_url) indexSearch = Search(client) indexSearch.addIndex(index_name) # indexSearch.addSort('updated', const.SEARCH_SORT_DESC) indexSearch.fetch_fields = ['id', 'title', 'updated'] indexSearch.query = "default:'opensearch'" indexSearch.addAggregate('created', 'count()') # indexSearch.addDistinct('owner_id') indexSearch.start = 0 indexSearch.hits = 50 ret = yield from indexSearch.scroll('1m', search_type='scan') print(ret) client.session.close() assert ret['status'] == 'OK'
class OpenSearch: obj_conf = conf.Conf() client = Client(obj_conf.opensearchAccessKeyId, obj_conf.opensearchAccessKeySecret, obj_conf.opensearchAPI) index_doc = IndexDoc(client, obj_conf.opensearchAppId) def __init__(self): return def insert(self, parsed_cyber_data): # 解析数据 parsed_items = self.parse(parsed_cyber_data) for item in parsed_items: # 插入表 self.index_doc.add(item, self.obj_conf.opensearchTable) return def parse(self, parsed_cyber_data): parsed_items = [] for i in range(0, self.obj_conf.shard): for j in range(0, self.obj_conf.shard): loc = str(parsed_cyber_data[i][j]["lon"]) + " " + str( parsed_cyber_data[i][j]["lat"]) parsed_items.append({ "id": loc, "loc": loc, "elevation": int(float(parsed_cyber_data[i][j]["elevation"]) * 100), }) return parsed_items def insertDrain(self, points): for k in points: data = points[k] item = { "id": str(data['lng']) + " " + str(data['lat']), "loc": str(data['lng']) + " " + str(data['lat']), "total": data['total'], "name": data['name'] } print(self.index_doc.add(item, self.obj_conf.opensearchTable)) return
def add(self,irc,msg,args): if not hasattr(self,'opensearch_clients'): self.opensearch_clients = {} try: alias, description_url = args except: irc.reply("please try: add <alias> <description_url>") try: client = Client(description_url) self.make_search_method(alias,client) irc.reply("added opensearch server %s with alias %s" % (client.description.shortname.encode('utf8','ignore'), alias)) except Exception, e: self.log.error(str(e)) irc.reply("unable to load opensearch description")
def test_scroll(): client = Client(app_key, app_secret, base_url, lib=client_name) indexSearch = Search(client) indexSearch.addIndex(index_name) indexSearch.fetch_fields = ['id', 'title', 'updated'] indexSearch.query = "default:'opensearch'" indexSearch.addFilter('owner_id>=1') indexSearch.formula_name = 'default' indexSearch.first_formula_name = 'default' indexSearch.addSummary("text", length=100, element='em', ellipsis='...', snipped=1, element_prefix='<em>', element_postfix='</em>') indexSearch.qp = 'stop_word' indexSearch.disable = 'qp' ret = indexSearch.scroll('1m', search_type='scan') print(ret) assert ret['status'] == 'OK'
def search(query_list, limit=5): table_name = 'main' # 默认参数,不需要修改 index_name = build_index_name client = Client(app_key, app_secret, base_url, lib=client_name) indexSearch = Search(client) indexSearch.addIndex("short_video") # 搜索应用名称 query_para_list = [] # 检索字符串list for word in query_list: para = "default:'" + word + "'" query_para_list.append(para) indexSearch.query = " OR ".join(query_para_list) # 全or检索 # print(indexSearch.query) # indexSearch.addFilter("is_download=1") indexSearch.start = 0 # start indexSearch.hits = limit # limit indexSearch.format = 'json' # 数据结果格式 ret = indexSearch.call() # print json.dumps(ret) return ret["result"]["items"]
def test_search(): client = Client(app_key, app_secret, base_url, lib=client_name) indexSearch = Search(client) indexSearch.addIndex(index_name) indexSearch.addSort('updated', const.SEARCH_SORT_DESC) indexSearch.fetch_fields = ['id', 'title', 'updated'] indexSearch.query = "default:'opensearch'" agg_range = ['0~1439514378', '1439514378~1539514378'] indexSearch.addAggregate('created', 'count()', agg_sampler_threshold=10000, agg_sampler_step=5, agg_filter="created>1423456781", max_group=100, agg_range=agg_range) grade = [3.0, 5.0] indexSearch.addDistinct('owner_id', grade=grade) indexSearch.addFilter('owner_id>=1') indexSearch.addFilter('created>=1439514200') indexSearch.addSummary("text", length=100, element='em', ellipsis='...', snipped=1, element_prefix='<em>', element_postfix='</em>') indexSearch.qp = 'stop_word' indexSearch.disable = 'qp' indexSearch.start = 0 indexSearch.hits = 50 indexSearch.format = 'json' indexSearch.rerank_size = 200 indexSearch.formula_name = 'default' indexSearch.first_formula_name = 'default' indexSearch.kvpairs = 'duniqfield:owner_id' ret = indexSearch.call() print('test_search', ret) assert ret['status'] == 'OK'
def search(query_list,limit=5): # query_list 搜索词列表 table_name = 'main' #默认配置 index_name = build_index_name client = Client(app_key, app_secret, base_url, lib=client_name) #base_url = 'http://opensearch-cn-beijing.aliyuncs.com'# 我建立的openserch应用的 公网API域名 返回的是什么?? indexSearch = Search(client) indexSearch.addIndex(build_index_name) #query_list = ["美女", "性感"] query_para_list = [] #检索字符串list for word in query_list: para = "default:'"+ word + "'"#转换格式 和阿里云的开放搜索页面的搜索测试相同的格式 default:'搜索' query_para_list.append(para) indexSearch.query = " OR ".join(query_para_list) #全or检索 #print indexSearch.query indexSearch.addFilter("is_download=1")#过滤结果 要求 is_download字段必须设为1的才进行检索 数据库表 video_info indexSearch.start = 0 #start indexSearch.hits = limit #limit hits indexSearch.format = 'json' #数据结果格式 ret = indexSearch.call() #print json.dumps(ret) return ret["result"]["items"]
def test_deletes(): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) ret = indexDoc.delete([100, 101, 102, 103, 200, 201, 202, 203], table_name) assert ret['status'] == 'OK' time.sleep(5)
#!/usr/bin/env python # this python script walks all the opensearch servers # and tries to exercise them, and report any errors # # Rob Sanderson <*****@*****.**> from opensearch import Client import socket, urllib2 socket.setdefaulttimeout(10) # OS list of open OS targets mainc = Client('http://a9.com/-/opensearch/public/osd') mainres = mainc.search('') # fetch all for site in mainres: print "Trying: %s" % site.link try: c = Client(site.link) except socket.timeout: print " ... timed out" continue except urllib2.URLError: print " ... timed out" continue except: print " ... ERROR: couldn't create Client" continue q = c.description.samplesearch if not q: q = "cat"
def tryaquery(self): client = Client('http://geekscruff.me/opensearch/VIAFallFieldsSearch.xml') results = client.search("jane austen") for result in results: print result.title, result.link
def test_query(self): client = Client(ClientTests.url) self.assertEqual(client.agent, 'python-opensearch <https://github.com/edsu/opensearch>') results = client.search("computer") assert(results.totalResults > 0)
#!/usr/bin/env python __author__ = "mlecarme" import sys here = sys.path[0] sys.path.remove(here) from opensearch import Client sys.path.insert(0, here) HOST = 'localhost' PORT = 8001 c = Client('http://%s:%i/opensearch-description' % (HOST, PORT)) resp = c.search(sys.argv[1]) for r in resp: print r
def doc_delete(): client = Client(app_key, app_secret, base_url, lib=client_name) indexDoc = IndexDoc(client, index_name) ret = indexDoc.delete(doc_id, table_name) print('delete doc status: ', ret['status'])