Exemplo n.º 1
0
 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)
Exemplo n.º 2
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)
Exemplo n.º 3
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)
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
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,
            }
Exemplo n.º 6
0
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'),
                               })
Exemplo n.º 7
0
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'
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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'])
Exemplo n.º 10
0
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
Exemplo n.º 11
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)
Exemplo n.º 12
0
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'
Exemplo n.º 13
0
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)
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
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'])
Exemplo n.º 16
0
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
Exemplo n.º 17
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'
Exemplo n.º 18
0
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'])
Exemplo n.º 20
0
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'])
Exemplo n.º 21
0
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)
Exemplo n.º 22
0
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'])
Exemplo n.º 25
0
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'
Exemplo n.º 26
0
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
Exemplo n.º 27
0
    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")
Exemplo n.º 28
0
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'
Exemplo n.º 29
0
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"]
Exemplo n.º 30
0
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'
Exemplo n.º 31
0
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"]
Exemplo n.º 32
0
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"
Exemplo n.º 34
0
    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
Exemplo n.º 35
0
 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)
Exemplo n.º 36
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'])