Giter VIP home page Giter VIP logo

linden's Introduction

Linden

Linden Logo

Linden is a distributed and real-time search system built on top of Lucene. Linden is widely used in Xiaomi. Linden provides a SQL-like query language interface named BQL(Browsing Query Language). BQL is simple and straightforward. Linden provides a very simple way to tune search result rankings. You can pass a piece of JAVA scoring code or even a scoring plugin class name in your query. Linden also supports customizing scoring logic from low index level via linden flexible query, you can get each query term match information(position, frequency and score), so that you can make a very intuitive scoring logic. This is very convenient for beginners.

Get Started

  • git clone https://github.com/XiaoMi/linden.git
  • cd to root directory of linden source code
  • $ mvn clean package -DskipTests
  • $ sh ./bin/start-zk-server.sh & or run > .\bin\start-zk-server.cmd in windows OS
  • $ sh ./bin/start-linden-server.sh demo/cars/conf/ or run > .\bin\start-linden-server.cmd  demo/cars/conf/ in windows OS
  • Play the demo at http://localhost:10000

Please see more in Linden Demo Document.

Linden Overview

Please see Linden Overview Document.

Linden Schema

Linden has a static schema file to specify document field property(name, type, index, store, etc.). Linden also supports dynamic field schema. See more in Linden Schema Document.

BQL Introduction

Please see BQL Document.

Linden Flexible Query

Please see Linden Flexible Query Document.

Linden Work Mode

Linden has 3 work modes for different scenarios: simple mode, hot-swap mode and multi-core mode. See more Linden Work Mode Document.

Linden Plugin

Linden provides user the ability to rewrite some linden component in plugin mode, for example Analyzer, Merge Policy, Metric Manager, Index Warmer and Similarity. See more in Linden Plugin Document.

Linden Client

Linden provides a java client, see detail in Linden Client Document.

Linden HTTP API

Linden also provides RESTful HTTP API, see detail in Linden HTTP API Document.

Linden Performance

We have done a simple perf test, see detail in Linden Performance Test Document.

Linden Configuration

Please see Linden Properties Document.

Developers

Yonghui Zhao (@yozhao), Yang Li (@philolee), Aibao Luo (@roaporl), Xing Wang (@intergret), Bin Qin (@whuqin), Hucheng Huang (@kenghuang)

linden's People

Contributors

yanzisun avatar yozhao avatar intergret avatar biyuhao avatar

Watchers

hctym avatar

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.