All Projects → Fanping → Iveely.search

Fanping / Iveely.search

Pure java realize search engine, try to directly hit the user's search for answers.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Iveely.search

Vespa
The open big data serving engine. https://vespa.ai
Stars: ✭ 3,747 (+1070.94%)
Mutual labels:  ai, search-engine
Caiss
跨平台/多语言的 相似向量/相似词/相似句 高性能检索引擎。功能强大,使用方便。欢迎star & fork。Build together! Power another !
Stars: ✭ 142 (-55.62%)
Mutual labels:  ai, search-engine
Go Cyber
Your 🔵 Superintelligence
Stars: ✭ 270 (-15.62%)
Mutual labels:  ai, search-engine
Python Sdk
百度AI开放平台 Python SDK
Stars: ✭ 285 (-10.94%)
Mutual labels:  ai
0xdeca10b
Sharing Updatable Models (SUM) on Blockchain
Stars: ✭ 285 (-10.94%)
Mutual labels:  ai
Toshi
A full-text search engine in rust
Stars: ✭ 3,373 (+954.06%)
Mutual labels:  search-engine
Hexo Generator Search
A plugin to generate search data for Hexo.
Stars: ✭ 318 (-0.62%)
Mutual labels:  search-engine
Kendryte Standalone Sdk
Standalone SDK for kendryte K210
Stars: ✭ 280 (-12.5%)
Mutual labels:  ai
Alfred Npms
Alfred 3 workflow to search for npm packages with npms.io
Stars: ✭ 312 (-2.5%)
Mutual labels:  search-engine
Awesome Learning Resources
🔥 Awesome list of resources on Web Development.
Stars: ✭ 3,928 (+1127.5%)
Mutual labels:  ai
Production Level Deep Learning
A guideline for building practical production-level deep learning systems to be deployed in real world applications.
Stars: ✭ 3,358 (+949.38%)
Mutual labels:  ai
Google Research
Google Research
Stars: ✭ 20,927 (+6439.69%)
Mutual labels:  ai
Darkdarkgo
Modeled Google and Bing to build a distributed search engine for the dark web
Stars: ✭ 303 (-5.31%)
Mutual labels:  search-engine
Blinkid Android
Everything you need to add AI-driven ID scanning into your native Android app.
Stars: ✭ 285 (-10.94%)
Mutual labels:  ai
Dotnet Sdk
百度AI开放平台 .Net SDK
Stars: ✭ 312 (-2.5%)
Mutual labels:  ai
Oie Resources
A curated list of Open Information Extraction (OIE) resources: papers, code, data, etc.
Stars: ✭ 283 (-11.56%)
Mutual labels:  ai
P Brain.ai
Natural language virtual assistant using Node.js + Bootstrap
Stars: ✭ 307 (-4.06%)
Mutual labels:  ai
Tensorwatch
Debugging, monitoring and visualization for Python Machine Learning and Data Science
Stars: ✭ 3,191 (+897.19%)
Mutual labels:  ai
Yuka
JavaScript library for developing Game AI.
Stars: ✭ 290 (-9.37%)
Mutual labels:  ai
Basic Mathematics For Machine Learning
The motive behind Creating this repo is to feel the fear of mathematics and do what ever you want to do in Machine Learning , Deep Learning and other fields of AI
Stars: ✭ 300 (-6.25%)
Mutual labels:  ai

iveely search engine Build Status

Iveely is an abbreviation from I void everything, except loving you. Iveely search engine tries to directly hit the user's search for answers,which is implemented with pure java.

Contact me if you have any questions, [email protected]. Auto build here.

(1) Quick Start in five minutes.

1. Download and build.

Download iveely.crawler & iveely.search.api, and build executable jar. You can use maven to build them quickly.

2. Config and run.

  • Copy example conf/for crawler/conf to the parent directory which contains iveely.crawler.jar.
  • Execute jars:
java -jar iveely.search.api.jar
java -jar iveely.crawler.jar

Note that iveely.search.api.jar should run before iveely.crawler.jar.

3. Let's search.

To query with keyword java, you can visit http://127.0.0.1:8080/api/0.9.1/query?queryField=title&respFields=title%2Ccontent%2Curl&keywords=java&totalHits=10 to get the result.

If you get the response json,congratulations, you've successfully run.

Moreover API information were described using Swagger-UI. So you can visit http://127.0.0.1:8080/swagger-ui.html to get more api.

(2) Maven support

Iveely also was submitted to the maven central repositry. visit [email protected] to get more.

(3) How to make search engine more smarter?

With only document search is not the goal,to build more intelligent search engine is very important,so we have added a project named iveely.brain.

iveely.brain has two mode, local debug & Remote network calls.

To run iveely.brain, do as follows:

1. Download and build.

Download iveely.brain and use maven to build,you also can run code by main class Progam.java.

Local operation does not require any arguments,but you need copy folder 'example conf/for brain/ai' to the same parent directory with iveely.brain.jar.

2. Test is successful start.

When run local mode,you can enter a question on console like 'Which city is the capital of the United States?'

If console write 'Washington.',congratulations, you've successfully run.

	Q:Which city is the capital of the United States?
	A:Washington.

For more information see Distributed Artificial Intelligence Markup Language.

3. Configuration for remote calls.

Modify file 'ai/property/branches.xml', configure the port number and offer to provide network services, so that the external system can access the service, which is important for distributed search engine.

(4) What's is the iveely computing used for,and how to use it?

In 2015, my friend and I began to research in the field of artificial intelligence, we need a lightweight computing framework to help us build data model in fast. Rapid deployment, rapid results, simple to fit is our original intention at that time. Even hope that any program can be distributed, such as crawler program of search engine. In the process of last year, Iveely Computing has given us a lot of help, so we decided to open source to more developers.

It is a very lightweight distributed real-time computing framework like storm,it has four very important components:

1. IInput(The basic data input interface)

It is the input source data, can be gained by reading the file system data source, also can be achieved by other ways. It is also the place where the whole cluster program execution started

2. IOutput(The basic data output interface)

IOutput data sources can be from IOutput and IInput, but the output must IOutput or no output, cannot be directly output to a file.It is the middle of the data processing unit.

3. IInputReader

IInputReader is an input with the function of file read, any IReader implementation can be used in IInputReader, including Windows file system,Unix file system, Hadoop file system, etc.

4. IOutputWriter

It is a subclass of IOuput, used for writing data to a local file system or other file system.
Example can be found here.

(5) How to use iveely database?

iveely database is a mini data storage system,it's has two mode, as follow:

1. Local mode.

Local mode is easy to use, example code =>

	final String houseName = "example_house";
	final String tableName = "example_table";
	Warehouse warehouse = LocalStore.getWarehouse(houseName);
	warehouse.createTable(tableName);
	int id = warehouse.insert(tableName,new Object[]{"1", "this is example"});
    Object[] data = warehouse.selectById(tableName,id);
    System.out.print(data);
    warehouse.dropTable(tableName);

2. Remote mode.

Use remote mode you can build a database server,and every application can access the database. example code =>

	final String houseName = "example_house";
    final String tableName = "example_table";
    DbConnector connector = new DbConnector(houseName, "localhost", 4321);
    final int id = connector.insert(tableName, new Object[]{"1", "this is example"});
    Object[] data = connector.selectOne(tableName, id);
    System.out.print(data);
    connector.dropTable(tableName);

(6) Can I known more about iveely search engine?

For a better understanding of the next generation of modern search engines, I wrote a book named "Big Data Search Engine Principle Analysis and Implementation", you can get this book on amazon.com or jd.com.

(7) Why you did iveely search engine?

From 2009, I began to think search engine not just a simple search tool. I offer keywords to search engine, the search engine returns some documents, I think this is not smart enough.

I expect I'll give the search engines a question, it gives me an answer,this is my original goal.

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].