1. helm2004

    12.03.2010

    0 ↑
    0 ↓
    Доброго времени суток!
    Собственно, сабж, знаю что есть djangosphinx, но он аж 2008 года(зырил на гитхабе). Спасибо!

    PS.Python 2.6, Django 1.1.1, MySQL 5.4, OS WinXP
  2. helm2004

    15.03.2010

    0 ↑
    0 ↓
    Александр Кошелев - спасибо!
  3. helm2004

    15.03.2010

    0 ↑
    0 ↓
    Есть вопрос по djapian:
    Я всё сделал как написано в туториале, но он ищет только по целому слову, например "Николай", а как заставить чтоб он искал по символам, например "Никол"?
  4. а как заставить чтоб он искал по символам, например "Никол"?

    Нужно указать флаг частичного матчинга. Например:

     results = MyModel.indexer.search('Никол').flags(
         MyModel.indexer.flags.PARTIAL
     )
    
  5. helm2004

    15.03.2010

    0 ↑
    0 ↓
    сделал так, как Вы написали, выдает ошибку:
    'CompositeIndexer' object has no attribute 'flags'
    def search(request):
    results = []
    if request.POST:
    form = SearchForm(request.POST)
    if form.is_valid():
    query = form.cleaned_data['query']
    model = MODEL_MAP.get(form.cleaned_data['model'])
    if not model:
    indexer = complete_indexer
    else:
    indexer = model.indexer
    results = indexer.search(query).flags(indexer.flags.PARTIAL )
  6. Jury Koryakov

    15.03.2010

    1 ↑
    1 ↓
    Есть ещё http://haystacksearch.org/
  7. сделал так, как Вы написали, выдает ошибку: 'CompositeIndexer' object has no attribute 'flags'

    Ааа, этого в 2.3.1 релизе ещё не было. Я про транк говорил.

    В старых версиях можно сделать так:

    import xapian
    
    results = MyModel.indexer.search('Никол').flags(
        xapian.QueryParser.FLAG_PARTIAL
    )
    

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.