Existe uma pura Python Lucene?
-
22-07-2019 - |
Pergunta
O pessoal de rubi tem Ferret . Alguém sabe de qualquer iniciativa semelhante para Python? Estamos usando PyLucene a atual, mas eu gostaria de investigar se mudar para pura busca Python.
Solução
Whoosh é um novo projeto que é semelhante ao Lucene, mas é pura python.
Outras dicas
Eu encontrei recentemente pyndexter . Ele fornece interface abstrata para várias diferentes de busca backend full-text motores / indexadores. E ele vem com uma implementação padrão puro-Python.
Essas coisas podem ser desastrosamente lento embora em Python.
Para algumas aplicações pura Python é superestimada. Dê uma olhada em Xapian.
lupy era uma porta lucene para pitão puro. Os lupy pessoas sugerem que você usa PyLucene . Desculpe. Talvez você possa usar as fontes Java em combinação com Jython .
+1 para as respostas Xapian e Pyndexter.
Ferret é escrito em C com ligações rubi no topo. Um rubi motor de pesquisa pura seria ainda mais lento do que um puro um Python. Eu adoraria ver "alguém" escrever uma camada Cython / Pyrex para a interface Python para Ferret, mas não vai fazer isso sozinho, porque por que se preocupar quando há vínculos Python para Xapian.
Para não-puro Python, Esfinge Pesquisa com Python API trabalha o mais rápido. A partir da referência de vários blogs, Esfinge de busca é muito mais rápido do Lucene, usa maneira menos memória e é em C.
Estou desenvolvendo um motor de busca multi-documento baseado nele, usando python e web2py como quadro.
Depois de semanas de procura para este, eu encontrei uma boa solução Python: repoze.catalog . Não é estritamente Python somente porque ele usa ZODB para o armazenamento, mas parece uma dependência melhor para mim do que algo como SOLR.