All Projects → apache → Lucenenet

apache / Lucenenet

Licence: apache-2.0
Apache Lucene.NET

Programming Languages

C#
18002 projects
powershell
5483 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
XSLT
1337 projects
CSS
56736 projects

Projects that are alternatives of or similar to Lucenenet

Cassandra Lucene Index
Lucene based secondary indexes for Cassandra
Stars: ✭ 584 (-65.73%)
Mutual labels:  search, lucene, index
Foundatio.parsers
A lucene style query parser that is extensible and allows modifying the query.
Stars: ✭ 39 (-97.71%)
Mutual labels:  query, lucene
Lara Eye
Filter your Query\Builder using a structured query language
Stars: ✭ 39 (-97.71%)
Mutual labels:  search, query
Automator
Various Automator and AppleScript workflow and scripts for simplifying life
Stars: ✭ 68 (-96.01%)
Mutual labels:  search, text
Blast
Blast is a full text search and indexing server, written in Go, built on top of Bleve.
Stars: ✭ 934 (-45.19%)
Mutual labels:  search, index
Akarata
Indonesian stemmer - Pustaka JavaScript untuk mengambil kata dasar dari kata berimbuhan pada bahasa Indonesia.
Stars: ✭ 26 (-98.47%)
Mutual labels:  lucene, apache
Rumble
⛈️ Rumble 1.11.0 "Banyan Tree"🌳 for Apache Spark | Run queries on your large-scale, messy JSON-like data (JSON, text, CSV, Parquet, ROOT, AVRO, SVM...) | No install required (just a jar to download) | Declarative Machine Learning and more
Stars: ✭ 58 (-96.6%)
Mutual labels:  query, text
Fess
Fess is very powerful and easily deployable Enterprise Search Server.
Stars: ✭ 561 (-67.08%)
Mutual labels:  search, lucene
Laravel Lucene Search
Laravel 4.2, 5.* package for full-text search over Eloquent models based on ZF2 Lucene.
Stars: ✭ 75 (-95.6%)
Mutual labels:  search, lucene
Flash
Golang Keyword extraction/replacement Datastructure using Tries instead of regexes
Stars: ✭ 79 (-95.36%)
Mutual labels:  search, text
Autocomplete
🔮 Fast and full-featured autocomplete library
Stars: ✭ 1,268 (-25.59%)
Mutual labels:  search, query
Subnode.org
SubNode: Social Media App
Stars: ✭ 25 (-98.53%)
Mutual labels:  lucene, apache
Riot
Go Open Source, Distributed, Simple and efficient Search Engine; Warning: This is V1 and beta version, because of big memory consume, and the V2 will be rewrite all code.
Stars: ✭ 6,025 (+253.58%)
Mutual labels:  search, index
Moqui Elasticsearch
Moqui Tool Component for ElasticSearch useful for scalable faceted text search, and analytics and reporting using aggregations and other great features
Stars: ✭ 10 (-99.41%)
Mutual labels:  search, lucene
Dfi
Peer-to-peer torrent indexing
Stars: ✭ 118 (-93.08%)
Mutual labels:  search, index
Torrenter
Simple nodejs package to download torrents using torrent-indexer and webtorrent, especially movie and series.
Stars: ✭ 42 (-97.54%)
Mutual labels:  search, index
Lucene Solr
Apache Lucene and Solr open-source search software
Stars: ✭ 4,217 (+147.48%)
Mutual labels:  search, lucene
H5ai
HTTP web server index for Apache httpd, lighttpd and nginx.
Stars: ✭ 4,650 (+172.89%)
Mutual labels:  index, apache
Awesome Solr
A curated list of Awesome Apache Solr links and resources.
Stars: ✭ 69 (-95.95%)
Mutual labels:  search, apache
Node Sonic Channel
🦉 Sonic Channel integration for Node. Used in pair with Sonic, the fast, lightweight and schema-less search backend.
Stars: ✭ 101 (-94.07%)
Mutual labels:  search, index

Apache Lucene.NET

Nuget Azure DevOps builds (master) GitHub

Full-text search for .NET

Apache Lucene.NET is a .NET full-text search engine framework, a C# port of the popular Apache Lucene project. Apache Lucene.NET is not a complete application, but rather a code library and API that can easily be used to add search capabilities to applications.

The Apache Lucene.NET web site is at: http://lucenenet.apache.org

Supported Frameworks

Lucene.NET 3.0.3

  • .NET Framework 4.0
  • .NET Framework 3.5

Lucene.NET 4.8.0

Status

Latest Stable Version: Lucene.NET 3.0.3

Working toward Lucene.NET 4.8.0 (currently in BETA)

  • The beta version is extremely stable
  • Has more than 7800+ passing unit tests
  • Integrates well with .NET 6.0, .NET 5.0 and .NET Core 2+
  • Supports .NET Standard 2.1 and .NET Standard 2.0
  • Supports .NET Framework 4.5+
  • Some developers already use it in production environments

Download

Lucene.NET 3.0.3

Core Library

NuGet version

PM> Install-Package Lucene.Net
All Packages

Lucene.NET 4.8.0

Core Library

NuGet version

PM> Install-Package Lucene.Net -Pre
All Packages

Documentation

We now have some preliminary documentation for Lucene.NET 4.8.0 on the Lucene.NET Website.

The API is similar to Java Lucene 4.8.0, which you may also find helpful to review.

NOTE: We are working on fixing issues with the documentation, but could use more help since it is a massive project. See #206.

Legacy Versions

Demos & Tools

There are several demos implemented as simple console applications that can be copied and pasted into Visual Studio or compiled on the command line in the Lucene.Net.Demo project.

There is also a dotnet command line tool available on NuGet. It contains all of the demos as well as tools maintaining your Lucene.NET index, featuring operations such as splitting, merging, listing segment info, fixing, deleting segments, upgrading, etc. Always be sure to back up your index before running any commands against it!

dotnet tool install lucene-cli -g --version 4.8.0-beta00015

NOTE: The version of the CLI you install should match the version of Lucene.NET you use.

Once installed, you can explore the commands and options that are available by entering the command lucene.

lucene-cli Documentation

How to Contribute

We love getting contributions! Read our Contribution Guide or read on for ways that you can help.

Join Mailing Lists

How to Join Mailing Lists

Ask a Question

If you have a general how-to question or need help from the Lucene.NET community, please subscribe to the user mailing list by sending an email to [email protected] and then follow the instructions to verify your email address. Note that you only need to subscribe once.

After you have subscribed to the mailing list, email your message to [email protected].

Alternatively, you can get help via StackOverflow's active community.

Please do not submit general how-to questions to GitHub, use GitHub for bug reports and tasks only.

Report a Bug

To report a bug, please use the GitHub issue tracker.

NOTE: In the past, the Lucene.NET project used the JIRA issue tracker, which has now been deprecated. However, we are keeping it active for tracking legacy issues. Please submit any new issues to GitHub.

Start a Discussion

To start a development discussion regarding technical features of Lucene.NET, please email the dev mailing list by sending an email to [email protected] and then follow the instructions to verify your email address. Note that you only need to subscribe once.

After you have subscribed to the mailing list, email your message to [email protected].

Submit a Pull Request

Before you start working on a pull request, please read our Contributing guide.

Building and Testing

Command Line

Building on the Command Line is currently only supported on Windows.

Prerequisites
  1. Powershell 3.0 or higher (see this question to check your Powershell version)
  2. .NET 6.0 SDK or higher
  3. .NET Framework 4.8 Developer Pack
Execution

NOTE: If the project is open in Visual Studio, its background restore may interfere with these commands. It is recommended to close all instances of Visual Studio that have Lucene.Net.sln open before executing.

To build the source, clone or download and unzip the repository. From the repository root, execute the build.bat file from a command prompt and include the desired options from the build options table below:

> build [options]
Build Options
Short Long Description Example
‑config ‑‑Configuration The build configuration ("Release" or "Debug"). build ‑‑Configuration:Debug
‑mp ‑‑MaximumParallelJobs The maximum number of parallel jobs to run during testing. If not supplied, the default is 8. build ‑t ‑mp:10
‑pv ‑‑PackageVersion The NuGet package version. If not supplied, will use the version from the Version.proj file. build ‑pv:4.8.0‑beta00001
‑t ‑‑Test Runs the tests after building. Note that testing typically takes around 40 minutes with 8 parallel jobs. build ‑t
‑v ‑‑Version The assembly file version. If not supplied, will use the PackageVersion (excluding any pre-release tag). build ‑pv:4.8.0‑beta00001 ‑v:4.8.0

For example the following command creates a Release build with NuGet package version 4.8.0‑ci00015 and assembly file version 4.8.0:

> build ‑‑Configuration:Release ‑pv:4.8.0‑ci00015 ‑v:4.8.0

In the above example we are using "ci" in the package version to indicate this is not a publically released beta version but rather the ouput of a continuous integration build from master which occured after beta00014 but before beta00015 was released.

NuGet packages are output by the build to the /release/NuGetPackages/ directory. Test results (if applicable) are output to the /release/TestResults/ directory.

You can setup Visual Studio to read the NuGet packages like any NuGet feed by following these steps:

  1. In Visual Studio, right-click the solution in Solution Explorer, and choose "Manage NuGet Packages for Solution"
  2. Click the gear icon next to the Package sources dropdown.
  3. Click the + icon (for add)
  4. Give the source a name such as Lucene.Net Local Packages
  5. Click the ... button next to the Source field, and choose the /src/release/NuGetPackages folder on your local system.
  6. Click Ok

Then all you need to do is choose the Lucene.Net Local Packages feed from the dropdown (in the NuGet Package Manager) and you can search for, install, and update the NuGet packages just as you can with any Internet-based feed.

Visual Studio

Prerequisites

  1. Visual Studio 2019 or higher
  2. .NET 6.0 SDK or higher
  3. .NET Framework 4.8 Developer Pack

NOTE: Preview versions of .NET SDK may require the "Use previews of the .NET SDK (requires restart)" option to be enabled in Visual Studio under Tools > Options > Environment > Preview Features.

Execution

  1. Open Lucene.Net.sln in Visual Studio.
  2. Choose the target framework to test by opening build/TestTargetFramework.props and uncommenting the corresponding <TargetFramework> (and commenting all others).
  3. Build a project or the entire solution, and wait for Visual Studio to discover the tests - this may take several minutes.
  4. Run or debug the tests in Test Explorer, optionally using the desired filters.

NOTE: When running tests in Visual Studio, be sure to set the default processor architecture to 64 bit to avoid running out of virtual memory on some tests.

Azure DevOps

We have setup our azure-pipelines.yml file with logical defaults so anyone with an Azure DevOps account can build Lucene.NET and run the tests with minimal effort. Even a free Azure DevOps account will work, but tests will run much faster if the account is setup as public, which enables up to 10 parallel jobs to run simultaneously.

Prerequisites

  1. An Azure DevOps account.
  2. A fork of this repository either on GitHub or Azure DevOps. The rest of these instructions assume a GitHub fork.

Execution

If you don't already have a pipeline set up:
  1. Create an Azure DevOps organization. If you already have one that you wish to use, you may skip this step.
  2. Create an Azure DevOps project. We recommend naming the project Lucene.NET. Note that if you are using a free Azure DevOps account, you should choose to make the project public in order to enable 10 parallel jobs. If you make the project private, you will only get 1 parallel job. Also, if disabling features, make sure to leave Pipelines enabled.
  3. Create an Azure DevOps pipeline.
    • Click on "Pipelines" from the left menu.
    • Click the "Create Pipeline" or "New Pipeline" button, depending on whether any pipelines already exist.
    • Select GitHub as the location to find the YAML file.
    • Select the fork of this repository you created in "Prerequisites". Note that if this is a new Azure DevOps account you may need to setup extra permissions to access your GitHub account.
    • Next a "Review your YAML" page is presented showing the contents of azure-pipelines.yml. There is documentation near the top of the file indicating the variables that can be setup to enable additional options, but note that the default configuration will automatically run the build and all of the tests.
    • Click the "Run" button at the top right of the page.
If you already have a pipeline set up:
  1. Click on "Pipelines" from the left menu.
  2. Select the pipeline you wish to run.
  3. Click the "Queue" button on the upper right.
  4. (Optional) Select the branch and override any variables in the pipeline for this run.
  5. Click the "Run" button.

Note that after the build is complete, the nuget artifact contains .nupkg files which may be downloaded to your local machine where you can setup a local folder to act as a NuGet feed.

It is also possible to add an Azure DevOps feed id to a new variable named ArtifactFeedID, but we are getting mixed results due to permission issues.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].