Ejemplo n.º 1
0
 def get_context_data(self, **kwargs):
     context = super(SearchView, self).get_context_data(**kwargs)
     if self.request.GET.get('by') == 'resume' and self.request.GET.get('search'):
         search = self.request.GET.get('search')
         search_query = Search(indexes=['resume'], config=ResumeSearch)
         search_query = search_query.match(search)
         search_result = search_query.ask()
         search_results = search_result['result']['items']
         results = []
         for result in search_results:
             results.append(Resume.objects.get(id=result['id']))
         context['search_results'] = results
         context['search'] = self.request.GET.get('search')
         context['url'] = 'resume'
     elif self.request.GET.get('by') == 'job' and self.request.GET.get('search'):
         search = self.request.GET.get('search')
         search_query = Search(indexes=['jobs'], config=JobSearch)
         search_query = search_query.match(search)
         search_result = search_query.ask()
         search_results = search_result['result']['items']
         results = []
         for result in search_results:
             results.append(Job.objects.get(id=result['id']))
         context['search_results'] = results
         context['search'] = self.request.GET.get('search')
         context['url'] = 'job'
     return context
Ejemplo n.º 2
0
def get_sphinx_data(sphinx_id):
    query = Search(indexes=['sourcecode'], config=BaseSearchConfig)
    query = query.filter(id__eq=sphinx_id)
    results = query.ask()
    if len(results['result']['items']) == 0:
        flask.abort(404)

    filename = results['result']['items'][0]['path']

    if not os.path.isfile(filename):
        return filename, 'File not found. Please resphinx_id.'

    code = ''
    with open(filename) as f:
        code = f.read()

    try:
        # This is the line that throws the exception.
        lexer = get_lexer_for_filename(filename)
        formatter = HtmlFormatter(noclasses=True)
        result = highlight(code, lexer, formatter)
    except ClassNotFound:
        # Syntax highlighting not supported.'
        result = '<pre>{}</pre>'.format(code)

    url = flask.url_for('display', sphinx_id=sphinx_id)

    return {'body': result, 'path': filename, 'url': url}
Ejemplo n.º 3
0
def search():
    term = flask.request.args.get('q')
    query = Search(indexes=['sourcecode'], config=BaseSearchConfig)
    query = query.match(term)
    query = query.select('id', 'path')
    results = query.ask()
    results = [get_row(result) for result in results['result']['items']]
    return uncached(json.dumps(results), mimetype='application/json')
Ejemplo n.º 4
0
 def search(query):
     search = Search(indexes=['events'], config=SearchConfig)
     search = search.match(query)
     # sphinxit uses set - an unordered data structure - for storing query order params
     search = search.limit(0, 50).order_by('@weight DESC, event_date',
                                           'DESC')
     result = search.ask()
     return result
Ejemplo n.º 5
0
 def search(query, eventType_id=None, contract_id=None, speciality_id=None):
     search = Search(indexes=['event_service'], config=SearchConfig)
     search = search.match(query)
     if eventType_id:
         search = search.filter(eventType_id__eq=int(eventType_id))
     if contract_id:
         search = search.filter(contract_id__eq=int(contract_id))
     if speciality_id:
         search = search.filter(speciality_id__in=[0, int(speciality_id)])
     search = search.limit(0, 100)
     result = search.ask()
     return result
Ejemplo n.º 6
0
 def search(name):
     search = Search(indexes=['patient'], config=SearchConfig)
     search = search.match(name).limit(0, 100)
     search = search.options(field_weights={'code': 100,
                                            'lastName': 90,
                                            'birthDate_f1': 80,
                                            'birthDate_f2': 80,
                                            'firstName': 70,
                                            'patrName': 60,
                                            'SNILS': 50,
                                            'document': 50,
                                            'policy': 50})
     #fixme: after sphinxit merge https://github.com/semirook/sphinxit/pull/20
     search = search.order_by('@weight desc, lastName asc, firstName asc, patrName', 'asc')
     result = search.ask()
     return result
Ejemplo n.º 7
0
 def search(name):
     search = Search(indexes=['person'], config=SearchConfig)
     search = search.match(name).limit(0, 100)
     result = search.ask()
     return result
Ejemplo n.º 8
0
Archivo: m.py Proyecto: Frozen/sphinxit
from sphinxit.core.processor import Search

from sphinxit.core.helpers import BaseSearchConfig

class SphinxitConfig(BaseSearchConfig):
    WITH_STATUS = False


search_query = Search(indexes=['cigar'], config=SphinxitConfig)
search_query = search_query.match("cohiba")

# search_query.

rs = search_query.ask()

print(rs)

s = ''

for i in rs['result']['items']:
    print(i['id'], ",")
    s += str(i['id']) + ","

print(s)