GAE Простой поиск + автозаполнение

1

Я ищу, чтобы создать функцию поиска для моего сайта флеш-игры.

Одной из проблем с сайтом является то, что вам сложно найти нужную игру, так как пользователи должны перейти в алфавитном списке, чтобы найти тот, который им нужен.

Он запускается с Google App Engine, написанным на python, с использованием платформы webapp.

По крайней мере, мне нужен простой способ поиска игр по их имени. Возможно, было бы проще выполнить поиск в Javascript с его внешнего вида. Я бы предпочел функциональность автозаполнения. Я попытался выяснить, как это сделать, и кажется, что единственный способ - создать огромный индекс с каждым именем, разбитым на различные этапы ввода ( "S", "Sh", "Sho"... "Герой корзины покупок" ).

Есть ли способ сделать это просто и легко? Я начинаю думать, что мне нужно будет создать веб-сервис на сервере PHP + MySql и искать его.

Теги:
google-app-engine

2 ответа

5
Лучший ответ

Я написал код ниже, чтобы справиться с этим. В принципе, я сохраняю все возможные слова "начинается" в списке вместо целых предложений. Это как работает автозаполнение jquery этот сайт.

import unicodedata
import re

splitter = re.compile(r'[\s|\-|\)|\(|/]+')

def remove_accents(text):
    nkfd_form = unicodedata.normalize('NFKD', unicode(text))
    return u"".join([c for c in nkfd_form if not unicodedata.combining(c)])

def get_words(text):    
    return [s.lower() for s in splitter.split(remove_accents(text)) if s!= '']

def get_unique_words(text):
    word_set = set(get_words(text))
    return word_set

def get_starts(text):
    word_set = get_unique_words(text)
    starts = set()
    for word in word_set:
        for i in range(len(word)):
            starts.add(word[:i+1])
    return sorted(starts)
0

Вы посмотрели gae-search? Я считаю, что функция автозаполнения Django + jQuery не является частью бесплатной версии (она только в премиальной версии для оплаты), но, возможно, она стоит немного денег для вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню