예제 #1
0
파일: api.py 프로젝트: zu83/kitsune
def _question_suggestions(searcher, text, locale, product, max_results):
    if max_results <= 0:
        return []

    search_filter = es_utils.F(
        model="questions_question",
        question_is_archived=False,
        question_is_locked=False,
        question_is_solved=True,
    )
    if product:
        search_filter &= es_utils.F(product=product)
    if locale:
        search_filter &= es_utils.F(question_locale=locale)

    questions = []
    searcher = _query(searcher, QuestionMappingType, search_filter, text,
                      locale)

    question_ids = [result["id"] for result in searcher[:max_results]]
    questions = [
        QuestionSerializer(instance=q).data
        for q in Question.objects.filter(id__in=question_ids)
    ]

    return questions
예제 #2
0
def _question_suggestions(searcher, text, locale, product, max_results):
    if max_results <= 0:
        return []

    search_filter = es_utils.F(model='questions_question',
                               question_is_archived=False,
                               question_is_locked=False,
                               question_is_solved=True)

    if product is not None:
        search_filter &= es_utils.F(product=product)

    questions = []
    searcher = _query(searcher, QuestionMappingType, search_filter, text,
                      locale)

    for result in searcher[:max_results]:
        q = Question.objects.get(id=result['id'])
        questions.append(QuestionSerializer(instance=q).data)

    return questions