Haystack Whoosh Django搜索引擎在本地工作,但不在生产环境中工作

Haystack Whoosh Django搜索引擎在本地工作,但不在生产环境中工作,django,django-haystack,whoosh,Django,Django Haystack,Whoosh,使用Whosh2.7.4和Django Haystack版本2.5.dev1 我们有一个类似的设置,如下所述: 设置.py WHOOSH_INDEX = os.path.join(PROJECT_ROOT, 'whoosh_index/') HAYSTACK_CONNECTIONS = { 'default': { 'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH':

使用Whosh2.7.4和Django Haystack版本2.5.dev1

我们有一个类似的设置,如下所述:

设置.py

WHOOSH_INDEX = os.path.join(PROJECT_ROOT, 'whoosh_index/')

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
        'PATH': WHOOSH_INDEX,
        'INCLUDE_SPELLING': True,
    },
}
def search_titles(request):
    txt = request.POST.get('search_text', '')
    if txt:
        articles = SearchQuerySet().autocomplete(content_auto=txt)
    # if the post request is empty, return nothing
    # this prevents internal server error with jquery
    else:
        articles = []
    return render_to_response('ajax_search.html', {'articles': articles})


def articles(request):
    language = 'en-gb'
    session_language = 'en-gb'

    if 'lang' in request.COOKIES:
        language = request.COOKIES['lang']

    if 'lang' in request.session:
        session_language = request.session['lang']

    args = {}
    args.update(csrf(request))

    args['articles'] = Article.objects.all()
    args['language'] = language
    args['session_language'] = session_language

    return render_to_response('index.html', args)
ajax.js

$(function(){

        $('#search').keyup(function() {

            $.ajax({
                type: "POST",
                url: "/search/",
                data: { 
                    'search_text' : $('#search').val(),
                    'csrfmiddlewaretoken' : $("input[name=csrfmiddlewaretoken]").val()
                },
                success: searchSuccess,
                dataType: 'html'
            });

        });

    });

    function searchSuccess(data, textStatus, jqXHR)
    {
        $('#search-results').html(data);
    }
视图.py

WHOOSH_INDEX = os.path.join(PROJECT_ROOT, 'whoosh_index/')

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
        'PATH': WHOOSH_INDEX,
        'INCLUDE_SPELLING': True,
    },
}
def search_titles(request):
    txt = request.POST.get('search_text', '')
    if txt:
        articles = SearchQuerySet().autocomplete(content_auto=txt)
    # if the post request is empty, return nothing
    # this prevents internal server error with jquery
    else:
        articles = []
    return render_to_response('ajax_search.html', {'articles': articles})


def articles(request):
    language = 'en-gb'
    session_language = 'en-gb'

    if 'lang' in request.COOKIES:
        language = request.COOKIES['lang']

    if 'lang' in request.session:
        session_language = request.session['lang']

    args = {}
    args.update(csrf(request))

    args['articles'] = Article.objects.all()
    args['language'] = language
    args['session_language'] = session_language

    return render_to_response('index.html', args)
我们尝试通过manage.py重建和更新索引,但没有给出任何结果。我们还确保Django Haystack和whoosh模块的生产版本和本地版本是相同的

有什么想法吗?任何形式的帮助都将不胜感激!:)

定义“不起作用”。错误结果、无结果、错误消息?定义“不工作”。错误结果、无结果、错误消息?