django-sphinx

Tela Software:
django-sphinx
Detalhes de Software:
Versão: 2.2.4
Data de upload: 11 May 15
Revelador: David Cramer
Licença: Livre
Popularidade: 50

Rating: 3.0/5 (Total Votes: 1)

django-esfinge é uma camada que funciona muito parecido com o Django ORM faz, exceto que funciona em cima do Sphinx motor de busca de texto completo.
Atenção: Você vai precisar para criar seus próprios índices esfinge esfinge e instalar em seu servidor para usar este aplicativo.
Há já não será liberar pacotes disponíveis. Por favor use o SVN para fazer o checkout da última versão do tronco, como deveria ser sempre estável e atual.

Instalação:

Para instalar a última versão estável:
sudo easy_install djangosphinx
Para instalar a última versão de desenvolvimento (atualizado com bastante frequência):
svn checkout http://django-sphinx.googlecode.com/svn/trunk/ django-sphinx
cd Django-sphinx
sudo python setup.py install
Nota: Você precisará instalar o pacote sphinxapi.py em seu caminho Python ou usar uma das versões incluídas. Para usar a versão incluída, você deve especificar o seguinte no seu arquivo settings.py:
# Sphinx 0.9.9
SPHINX_API_VERSION = 0x116
# Sphinx 0.9.8
SPHINX_API_VERSION = 0x113
# Sphinx 0.9.7
SPHINX_API_VERSION = 0x107

Uso:

A seguir, alguns exemplos de uso:
MyModel classe (models.Model):
& Nbsp; search = SphinxSearch () # opcionais: o padrão é db_table
& Nbsp; # Se o seu nome de índice não corresponde MyModel._meta.db_table
& Nbsp; # Nota: Você só pode gerar configurações automáticas do roteiro ./manage.py
& Nbsp; # se o seu nome de índice corresponde.
& Nbsp; search = SphinxSearch ('index_name')
& Nbsp; # Ou talvez nós queremos ser mais específico ..
& Nbsp; searchdelta = SphinxSearch (
& Nbsp; index = 'delta_name index_name',
& Nbsp; pesos = {
& Nbsp; 'nome': 100,
& Nbsp; 'description': 10,
& Nbsp; 'tags': 80,
& Nbsp;}
& Nbsp;)
queryset = MyModel.search.query ('consulta')
resultados1 = queryset.order_by ('@ peso', 'Id', 'my_attribute')
resultados2 = queryset.filter (my_attribute = 5)
resultados3 = queryset.filter (my_other_attribute = [5, 3,4])
resultados4 = queryset.exclude (my_attribute = 5) [00:10]
resultados5 = queryset.count ()
# A partir de 2.0 agora você pode acessar um atributo para obter os argumentos de peso e similares
para o resultado em resultados1:
& Nbsp; resultado de impressão, result._sphinx
# Você também pode acessar um conjunto semelhante de meta dados no próprio queryset (uma vez que foi cortado ou executado de qualquer maneira)
impressão results1._sphinx
Alguns métodos adicionais:
& Nbsp; * count ()
& Nbsp; * Extra () (passado para o queryset)
& Nbsp; * todos () (não faz nada)
& Nbsp; * select_related () (passado para o queryset)
& Nbsp; * group_by (campo, campo, campo)
& Nbsp; * set_options (index = '', pesos = {}, pesos = [])
A camada django-sphinx também suporta algumas consultas básicas sobre vários índices. Para usar isso, você primeiro precisa entender as regras de uma UNION. Seus índices deve conter exatamente os mesmos campos. Esses campos também deve incluir uma seleção content_type que deve ser o id content_type associado a essa tabela (modelo).
Você pode então fazer algo parecido com isto:
SphinxSearch ('index1 index2 Index3'). Query ('Olá')
Isso irá retornar uma lista de todos os jogos, ordenados por peso, de todos os índices. Isso executa uma consulta SQL por índice com partidas em que, como ORM do Django não suporta SQL UNIÃO

Requisitos :.

  • Django
  • Python

Outro software de desenvolvedor David Cramer

nexus
nexus

15 Apr 15

django-data-tools
django-data-tools

11 May 15

nose-bisect
nose-bisect

14 Apr 15

Comentário para django-sphinx

Comentários não encontrado
Adicionar comentário
Ligue imagens!