Giter Site home page Giter Site logo

documentation's Introduction

Dependency status License Bors enabled

⚑ A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow πŸ”

Meilisearch helps you shape a delightful search experience in a snap, offering features that work out-of-the-box to speed up your workflow.

A bright colored application for finding movies screening near the user A dark colored application for finding movies screening near the user

πŸ”₯ Try it! πŸ”₯

✨ Features

  • Search-as-you-type: find search results in less than 50 milliseconds
  • Typo tolerance: get relevant matches even when queries contain typos and misspellings
  • Filtering and faceted search: enhance your users' search experience with custom filters and build a faceted search interface in a few lines of code
  • Sorting: sort results based on price, date, or pretty much anything else your users need
  • Synonym support: configure synonyms to include more relevant content in your search results
  • Geosearch: filter and sort documents based on geographic data
  • Extensive language support: search datasets in any language, with optimized support for Chinese, Japanese, Hebrew, and languages using the Latin alphabet
  • Security management: control which users can access what data with API keys that allow fine-grained permissions handling
  • Multi-Tenancy: personalize search results for any number of application tenants
  • Highly Customizable: customize Meilisearch to your specific needs or use our out-of-the-box and hassle-free presets
  • RESTful API: integrate Meilisearch in your technical stack with our plugins and SDKs
  • Easy to install, deploy, and maintain

πŸ“– Documentation

You can consult Meilisearch's documentation at https://www.meilisearch.com/docs.

πŸš€ Getting started

For basic instructions on how to set up Meilisearch, add documents to an index, and search for documents, take a look at our Quick Start guide.

⚑ Supercharge your Meilisearch experience

Say goodbye to server deployment and manual updates with Meilisearch Cloud. No credit card required.

🧰 SDKs & integration tools

Install one of our SDKs in your project for seamless integration between Meilisearch and your favorite language or framework!

Take a look at the complete Meilisearch integration list.

Logos belonging to different languages and frameworks supported by Meilisearch, including React, Ruby on Rails, Go, Rust, and PHP

βš™οΈ Advanced usage

Experienced users will want to keep our API Reference close at hand.

We also offer a wide range of dedicated guides to all Meilisearch features, such as filtering, sorting, geosearch, API keys, and tenant tokens.

Finally, for more in-depth information, refer to our articles explaining fundamental Meilisearch concepts such as documents and indexes.

πŸ“Š Telemetry

Meilisearch collects anonymized data from users to help us improve our product. You can deactivate this whenever you want.

To request deletion of collected data, please write to us at [email protected]. Don't forget to include your Instance UID in the message, as this helps us quickly find and delete your data.

If you want to know more about the kind of data we collect and what we use it for, check the telemetry section of our documentation.

πŸ“« Get in touch!

Meilisearch is a search engine created by Meili, a software development company based in France and with team members all over the world. Want to know more about us? Check out our blog!

πŸ—ž Subscribe to our newsletter if you don't want to miss any updates! We promise we won't clutter your mailbox: we only send one edition every two months.

πŸ’Œ Want to make a suggestion or give feedback? Here are some of the channels where you can reach us:

Thank you for your support!

πŸ‘©β€πŸ’» Contributing

Meilisearch is, and will always be, open-source! If you want to contribute to the project, please take a look at our contribution guidelines.

πŸ“¦ Versioning

Meilisearch releases and their associated binaries are available in this GitHub page.

The binaries are versioned following SemVer conventions. To know more, read our versioning policy.

Differently from the binaries, crates in this repository are not currently available on crates.io and do not follow SemVer conventions.

documentation's People

Contributors

alallema avatar aniketh-varma avatar bidoubiwa avatar bors[bot] avatar brunoocasali avatar carofg avatar curquiza avatar davlet61 avatar dependabot-preview[bot] avatar dependabot[bot] avatar dichotommy avatar edouardb avatar eskombro avatar ferdi05 avatar fharper avatar gmourier avatar guimachiavelli avatar irevoire avatar jacobley avatar james-2001 avatar jamesdanielwhitford avatar kerollmops avatar maryamsulemani97 avatar matboivin avatar qdequele avatar rogerzecat avatar sixhobbits avatar skillkiller avatar strift avatar tpayet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

documentation's Issues

Download part

In Binary Part (Advanced guide)

  • Use tabs instead of multiples parts
  • Put "compiling from source code" = "Cargo" at the end

And:

  • Find a way to use the same code for the tabs (in QuickStart, Download and MeiliSearch Binary).

Guide on settings

There are a lot of settings in the setting route. For each setting some information can be found in different guides.

There should be a guide that specifically explains all the settings.

Specify that an identifier is required in schema

If an index is created and a schema is provided by the user, it is possible to create an index without specifying any field as an 'identifier'. The problem in that case is that when you try to index data, it will accept the data and provide a modification id, but data is unretrievable afterwards. You don't get any error messages in the process, but can't find the data, which leads to a confusion.

Unclear sentence

In this section, there is this sentence:

However, in the case of word to sentence or sentence to sentence

I don't understand it, it looks like a sentence that is not finished :)

Add versioning on documentation

At this time, an external user arriving on the documentation don't know which version of Meilisearch the documentation is for. It could be great to add like on other documentation, the ability to get the version on the navigation bar and to switch easily between them.

Examples

We prefer the way React handles it.

Proposal

We can use the versioning plugin for Vuepress

By default, the documentation should render the last version. But It's could be cool if we can also have a "master"/"beta" version for the latest documentation commit.

Sub issues

  • #193 Add version of MeiliSearch in the header-bar.
  • #155 Release a documentation for the v0.8.5 tag
  • #96 Create a reminder that the documentation follows the master branch and not the tag

Write Heroku cookbook

A simple cookbook to use MeiliSearch on Heroku and how to use Heroku and configure it properly with a master api key

heroku ps:scale web=0 -a meilisearch
heroku config:set MEILI_API_KEY=12345 -a meilisearch
heroku ps:scale web=1 -a meilisearch

Fix Distinct example

Currently, in the example of the Distinct part, we have this json:

[
  {
    "id": 1,
    "skuid": "abcdef",
    "name": "Really nice Jacket",
    "color": "blue"
  },
  {
    "id": 2,
    "skuid": "abcdef",
    "name": "Really nice Jacket",
    "color": "red"
  },
  {
    "id": 3,
    "skuid": "abcdef",
    "name": "Really nice Jacket",
    "color": "green"
  },
]

Which is wrong because the skuid is a string and MeiliSearch (so far) handles only int and float as a dinstinctField.

Plus, the current documentation does not precise that the field used as a distinctField should be `ranked. But the schema will be removed in the next version, so it might be useless to spend time adding this precision.

Release a documentation for the v0.8.5 tag

In order to release a documentation for the 0.8.5 tag, we need to write some missing documentation to better reflect the state of MeiliSearch API in v0.8.5.

  • Renaming criterions
  • Only two routes left for synonyms: /GET & /POST
  • Release of the web interface for search testing

As a reminder, the v0.8.5 is not considered as breaking

[Clarification] get_all_documents order

The route to get all the document returns the documents in a specific order that is :

  • neither the order of the identifier (id)
  • nor the order in which I sent the documents

The documents are ordered by hash of the identifier (id). It's not clear in the doc yet and could be confusing :) (it was for me before Kero explained it to me)

Rename keys into authentication

In the advanced guide, we should rename the keys part into authentication. It would be more clear for people reading the doc and searching ways of managing authentication with MeiliSearch

Criteria names changed with the engine rewritte

When I rewrote the core engine algorithm (i.e. v0.8.5-alpha.1 & v0.8.5-beta.1) to improve performances, I take the time to rename the criteria with shorter and clear names.

  • sum of typos becomes typo
  • number of words becomes words
  • words proximity becomes proximity
  • sum of words attribute becomes attribute
  • sum of words position becomes words position
  • exact remains exact

This is just a remainder to update the documentation examples that refers to old names.

Replace 'dsc' with 'desc'

In the documentation in some examples of the ranking rules there is still written dsc() this has been changed to desc()

Identifier naming

Currently, we use the term identifier to talk about a document identifier.
We might think about a new name, like primaryKey, a term used by many DB.

Readme

The Readme is quite weird, especially the Open-source section πŸ˜‚

  • the links "Star" and "Fork" are not visible because like the same sentence
  • there is an HTML tag
  • ...

And a visible link to MeiliSearch repo could be great, no? πŸ˜€

Http server version

It could be great to refer the documentation to a specific https server version.

Useless file?

Is the main_concept/newIndexes.md usefull?
Not sure of that, mainly because of there are french sentences insides, but I need your confirmation before doing a PR (fixing the french sentence or deleting the file) :)

Document the types MeiliSearch handle

Should we add a page on the documentation to explain how MeiliSearch handle the differents types of value you can use?

For example, the booleans and null today can be pushed into MeiliSearch but wont be take into account for indexation. We should take as a starting point the different data types that JSON handles and explain how MeiliSearch work with them.

Add "Run MeiliSearch in production" part

So far, there is no part in the documentation which details how to run properly MeiliSearch in production.

It could include:

  • the env variables/options to set
  • the good practice to apply, for example with the keys. It means when should the user use which key
  • on which server is it possible to deploy: for example do not use Heroku server. We could suggest the manifest we use in K8S.

Feel free to complete this list.

Components reusability

Sometime we need to have the same information written twice or more in the documentation.
-> We do not want to maintain two versions of the same thing as it is not DRY

We have to find a way to reuse some components. For example, on the get Quick start we have the same documentation as on the download page.

Vuepress team seems to promote the use of <Content/> but it seems not fully handled.

Links

Find a way to check bad relative links for the crawler. It means:

  • links with no ".md" file in the link redirects to a file like "/guides/advanced_guides/synonyms.md"
  • links with no '/' at the end, if the link redirects to a folder like "/guides/getting_started/"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.