All Projects → iboxdb → Ftserver

iboxdb / Ftserver

Lightweight Embeddable iBoxDB Full Text Search Server for Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Ftserver

Ftserver Cs
Lightweight iBoxDB Full Text Search Server for C#
Stars: ✭ 81 (-63.01%)
Mutual labels:  full-text-search, database, nosql, document-database
Arangodb
🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
Stars: ✭ 11,880 (+5324.66%)
Mutual labels:  database, nosql, document-database
Ravendb
ACID Document Database
Stars: ✭ 2,870 (+1210.5%)
Mutual labels:  database, nosql, document-database
Tiedot
A rudimentary implementation of a basic document (NoSQL) database in Go
Stars: ✭ 2,643 (+1106.85%)
Mutual labels:  database, nosql, document-database
Orientdb
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. OrientDB Community Edition is Open Source using a liberal Apache 2 license.
Stars: ✭ 4,394 (+1906.39%)
Mutual labels:  database, nosql, document-database
Jnosql
Eclipse JNoSQL is a framework which has the goal to help Java developers to create Jakarta EE applications with NoSQL.
Stars: ✭ 145 (-33.79%)
Mutual labels:  database, nosql
Tera
An Internet-Scale Database.
Stars: ✭ 1,846 (+742.92%)
Mutual labels:  database, nosql
Objectdb
Persistent embedded document-oriented NoSQL database for Dart and Flutter.
Stars: ✭ 173 (-21%)
Mutual labels:  database, nosql
Arangodb Php
PHP ODM for ArangoDB
Stars: ✭ 178 (-18.72%)
Mutual labels:  database, nosql
Ardb
A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, PerconaFT, WiredTiger, ForestDB.
Stars: ✭ 1,707 (+679.45%)
Mutual labels:  database, nosql
Arangodb Java Driver
The official ArangoDB Java driver.
Stars: ✭ 174 (-20.55%)
Mutual labels:  database, nosql
Pyarango
Python Driver for ArangoDB with built-in validation
Stars: ✭ 183 (-16.44%)
Mutual labels:  database, nosql
Lokidb
blazing fast, feature-rich in-memory database written in TypeScript
Stars: ✭ 145 (-33.79%)
Mutual labels:  database, document-database
Laravel Scout Postgres
PostgreSQL Full Text Search Engine for Laravel Scout
Stars: ✭ 140 (-36.07%)
Mutual labels:  full-text-search, database
Db
A blazing fast ACID compliant NoSQL DataLake with support for storing 17 formats of data. Full SQL and DML capabilities along with Java stored procedures for advanced data processing.
Stars: ✭ 159 (-27.4%)
Mutual labels:  database, nosql
Gocql
Package gocql implements a fast and robust Cassandra client for the Go programming language.
Stars: ✭ 2,182 (+896.35%)
Mutual labels:  database, nosql
Paper
Paper is a fast NoSQL-like storage for Java/Kotlin objects on Android with automatic schema migration support.
Stars: ✭ 2,263 (+933.33%)
Mutual labels:  database, nosql
Couchbase Lite Core
Cross-platform C++ core library for Couchbase Lite
Stars: ✭ 187 (-14.61%)
Mutual labels:  database, nosql
Kivik
Kivik provides a common interface to CouchDB or CouchDB-like databases for Go and GopherJS.
Stars: ✭ 200 (-8.68%)
Mutual labels:  database, nosql
Barrel Platform
Distributed database for the modern world
Stars: ✭ 201 (-8.22%)
Mutual labels:  database, document-database

Lightweight Full Text Search Server for Java

Setup

Use NetBeans to build 

or

[[email protected] FTServer]$ mvn package cargo:run


Dependencies

iBoxDB

Semantic-UI

Jsoup

The Results Order

The results order based on the id() number in class PageText, descending order.

A Page has many PageTexts. if don't need multiple Texts, modify Html.getDefaultTexts(Page), returns only one PageText.

the Page.GetRandomContent() method is used to keep the Search-Page-Content always changing, doesn't affect the real PageText order.

Use the ID number to control the order instead of loading all pages to memory. Or load top 100 pages to memory then re-order it by favor.

Search Format

[Word1 Word2 Word3] => text has Word1 and Word2 and Word3

["Word1 Word2 Word3"] => text has "Word1 Word2 Word3" as a whole

Search [https http] => get almost all pages

Search Method

search (... String keywords, long startId, long count)

startId => which ID(the id when you created PageText) to start, use (startId=Long.MaxValue) to read from the top, descending order

count => records to read, important parameter, the search speed depends on this parameter, not how big the data is.

Next Page

set the startId as the last id from the results of search minus one

startId = search( "keywords", startId, count);
nextpage_startId = startId - 1 // this 'minus one' has done inside search()
...
//read next page
search("keywords", nextpage_startId, count)

mostly, the nextpage_startId is posted from client browser when user reached the end of webpage, and set the default nextpage_startId=Long.MaxValue, in javascript the big number have to write as String ("'" + nextpage_startId + "'")

Private Server

Open

public Page Html.get(String url);

Set your private WebSite text

Page page = new Page();
page.url = url;
page.title = title;
page.text = replace(doc.body().text());
page... = ...
return page;

Maximum Opened Files

[[email protected] ~]$ cat /proc/sys/fs/file-max
803882
[[email protected] ~]$ ulimit -a | grep files
open files                      (-n) 500000
[[email protected] ~]$  ulimit -Hn
500000
[[email protected] ~]$ ulimit -Sn
500000
[[email protected] ~]$ 


$ vi /etc/security/limits.conf
*         hard    nofile      500000
*         soft    nofile      500000
root      hard    nofile      500000
root      soft    nofile      500000

More

C# ASP.NET Core Version

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