Apache Lucene.NET é uma biblioteca de pesquisa de texto completo de código aberto escrita em C#. É uma versão do popular projeto Java Apache Lucene.
Apache Lucene.NET é uma biblioteca .NET que fornece recursos poderosos de indexação e pesquisa, bem como verificação ortográfica, destaque de ocorrências e recursos avançados de análise/tokenização.
Lucene.NET versão 4.8 (ainda em beta) é executado em todos os lugares em que o .NET é executado, incluindo Windows, Unix, MacOS, Android e iOS.
O site Apache Lucene.NET está em: http://lucenenet.apache.org
Versão de lançamento mais recente: Lucene.NET 3.0.3
Trabalhando em direção ao Lucene.NET 4.8.0 (atualmente em BETA)
PM> Install-Package Lucene.Net
PM> Install-Package Lucene.Net -Pre
Temos documentação preliminar para Lucene.NET 4.8.0 no site Lucene.NET.
A API é semelhante ao Java Lucene 4.8.0, que também pode ser útil revisar.
NOTA: Estamos trabalhando para corrigir problemas com a documentação, mas precisaríamos de mais ajuda, pois é um projeto enorme. Veja #206.
Existem várias demonstrações implementadas como aplicativos de console simples que podem ser copiados e colados no Visual Studio ou compilados na linha de comando no projeto Lucene.Net.Demo.
Há também uma ferramenta de linha de comando dotnet disponível no NuGet. Ele contém todas as demonstrações, bem como ferramentas que mantêm seu índice Lucene.NET, apresentando operações como divisão, mesclagem, listagem de informações de segmento, correção, exclusão de segmentos, atualização, etc. contra isso!
dotnet tool install lucene-cli -g --version 4.8.0-beta00015
NOTA: A versão da CLI que você instala deve corresponder à versão do Lucene.NET que você usa.
Depois de instalado, você pode explorar os comandos e opções disponíveis digitando o comando lucene
.
Documentação lucene-cli
Adoramos receber contribuições! Leia nosso Guia de Contribuição ou continue lendo para saber como você pode ajudar.
Como ingressar em listas de discussão
Se você tiver uma pergunta geral sobre como fazer ou precisar de ajuda da comunidade Lucene.NET, inscreva-se na lista de discussão user
enviando um e-mail para [email protected] e siga as instruções para verificar seu endereço de e-mail . Observe que você só precisa se inscrever uma vez.
Depois de se inscrever na lista de discussão, envie sua mensagem por e-mail para [email protected].
Alternativamente, você pode obter ajuda através da comunidade ativa do StackOverflow.
Não envie perguntas gerais de instruções ao GitHub, use o GitHub apenas para relatórios de bugs e tarefas.
Para relatar um bug, use o rastreador de problemas do GitHub.
NOTA: No passado, o projeto Lucene.NET usava o rastreador de problemas JIRA, que agora foi descontinuado. No entanto, estamos mantendo-o ativo para rastrear problemas legados. Envie quaisquer novos problemas ao GitHub.
Para iniciar uma discussão de desenvolvimento sobre os recursos técnicos do Lucene.NET, envie um email para a lista de discussão dev
enviando um email para [email protected] e siga as instruções para verificar seu endereço de email. Observe que você só precisa se inscrever uma vez.
Depois de se inscrever na lista de discussão, envie sua mensagem por e-mail para [email protected].
Antes de começar a trabalhar em uma solicitação pull, leia nosso guia de contribuição.
NOTA: Se o projeto estiver aberto no Visual Studio, sua restauração em segundo plano poderá interferir nesses comandos. É recomendável fechar todas as instâncias do Visual Studio que tenham
Lucene.Net.sln
abertas antes de executar.
Para construir o código-fonte, clone ou baixe e descompacte o repositório. Para versões específicas, baixe e descompacte o arquivo .src.zip
da página de download da versão específica. No repositório ou raiz da distribuição, execute o comando build em um prompt de comando e inclua as opções desejadas na tabela de opções de build abaixo:
> build [options]
./build [options]
NOTA: O arquivo
build
precisará receber permissão para ser executado usando o comandochmod u+x build
antes da primeira execução.
As opções a seguir não diferenciam maiúsculas de minúsculas. Cada opção tem um formato abreviado indicado por um único -
e um formato longo indicado por --
. As opções que exigem um valor devem ser seguidas por um espaço e, em seguida, pelo valor, semelhante à execução da CLI dotnet.
Curto | Longo | Descrição | Exemplo |
---|---|---|---|
-config | --configuração | A configuração de compilação ("Release" ou "Debug"). | build ‑‑configuração Depuração |
-mp | ‑‑trabalhos paralelos máximos | O número máximo de trabalhos paralelos a serem executados durante o teste. Se não for fornecido, o padrão será 8. | build-t-mp 10 |
-pv | ‑‑versão do pacote | A versão do pacote NuGet. Se não for fornecido, utilizará a versão do arquivo Version.proj. | build-pv 4.8.0-beta00001 |
-t | --teste | Executa os testes após a construção. Esta opção não requer um valor. Observe que o teste normalmente leva cerca de 40 minutos com 8 trabalhos paralelos. | construir -t |
-fv | ‑‑versão do arquivo | A versão do arquivo de montagem. Se não for fornecido, o padrão é o valor --package-version (excluindo qualquer rótulo de pré-lançamento). A versão assembly será derivada do componente de versão principal do valor passado, excluindo os componentes secundários, de construção e de revisão. | build ‑pv 4.8.0‑beta00001 ‑fv 4.8.0 |
Por exemplo, o comando a seguir cria um build de versão com o pacote NuGet versão 4.8.0-ci00015 e a versão de arquivo 4.8.0. A versão assembly será derivada do componente de versão principal do valor passado, excluindo os componentes secundários, de construção e de revisão (neste caso 4.0.0).
> build ‑‑configuration Release ‑pv 4.8.0‑ci00015 ‑fv 4.8.0
./build ‑‑configuration Release ‑pv 4.8.0‑ci00015 ‑fv 4.8.0
No exemplo acima, estamos usando "ci" na versão do pacote para indicar que esta não é uma versão beta lançada publicamente, mas sim a saída de uma construção de integração contínua do master que ocorreu após o beta00014, mas antes do lançamento do beta00015.
Os pacotes NuGet são gerados pela compilação no diretório /_artifacts/NuGetPackages/
. Os resultados do teste (se aplicável) são enviados para o diretório /_artifacts/TestResults/
.
Você pode configurar o Visual Studio para ler os pacotes NuGet como qualquer feed NuGet seguindo estas etapas:
+
(para adicionar)Lucene.Net Local Packages
...
próximo ao campo Origem e escolha a pasta /src/_artifacts/NuGetPackages
em seu sistema local. Então, tudo o que você precisa fazer é escolher o feed Lucene.Net Local Packages
no menu suspenso (no Gerenciador de pacotes NuGet) e você pode pesquisar, instalar e atualizar os pacotes NuGet da mesma forma que faria com qualquer feed baseado na Internet.
Lucene.Net.sln
no Visual Studio..build/TestTargetFramework.props
e descomentando o <TargetFramework>
correspondente (e comentando todos os outros).NOTA: Ao executar testes no Visual Studio, certifique-se de definir a arquitetura padrão do processador como 64 bits para evitar ficar sem memória virtual em alguns testes.
Configuramos nosso arquivo azure-pipelines.yml
com padrões lógicos para que qualquer pessoa com uma conta Azure DevOps possa criar Lucene.NET e executar os testes com o mínimo de esforço. Até mesmo uma conta gratuita do Azure DevOps funcionará, mas os testes serão executados muito mais rapidamente se a conta for configurada como pública, o que permite a execução simultânea de até 10 trabalhos paralelos.
azure-pipelines.yml
. Há documentação próxima ao topo do arquivo indicando as variáveis que podem ser configuradas para habilitar opções adicionais, mas observe que a configuração padrão executará automaticamente a compilação e todos os testes. Observe que após a conclusão da compilação, o artefato nuget
contém arquivos .nupkg
que podem ser baixados para sua máquina local, onde você pode configurar uma pasta local para atuar como um feed NuGet.
Também é possível adicionar um ID de feed do Azure DevOps a uma nova variável chamada
ArtifactFeedID
, mas estamos obtendo resultados mistos devido a problemas de permissão.