In this Internet age where information is quite complex, we have learned how to use the powerful tool of search engines to find target information. For example, you will search on Google for Valentine’s Day and how to please your girlfriend, and you will also search on Baidu for official information. of cosmetic medical institutions (albeit with a large share of advertising scammers). So if you need to allow users to search for some important information in the website system you develop yourself, and to present structured results to users, the 9 Java search engine frameworks shared below may be able to help you.
1. Java full-text search engine framework Lucene
There is no doubt that Lucene is currently the most popular Java full-text search framework. To be precise, it is a full-text search engine architecture that provides a complete query engine and indexing engine. , part of the text analysis engine. Lucene provides developers with a fairly complete toolkit that can easily implement powerful full-text search functions. There are several search engine frameworks below that are also implemented based on Lucene.
Official website: http://lucene.apache.org/
2. Open source Java search engine Nutch
Nutch is a search engine implemented in open source Java. It provides all the tools we need to run our own search engine. Includes full-text search and web crawling.
Using Nutch, you can do the following functions:
Fetch billions of web pages every month
Maintain an index for these web pages
Search the indexed files thousands of times per second
Provide high-quality Search results
operate at minimal cost
Official website: http://nutch.apache.org/
3. Distributed search engine ElasticSearch
ElasticSearch is a distributed search engine based on the Lucene framework, and it is also One of the few search engines based on JSON indexing. ElasticSearch is particularly suitable for use on cloud computing platforms.
Official website: http://www.elasticsearch.org/
4. Real-time distributed search engine Solandra
Solandra is a real-time distributed search engine built on Apache Solr and Apache Cassandra.
Its features are as follows:
Supports most of Solr’s default features (search, faceting, highlights)
Data replication, sharding, caching and compression are all performed by Cassandra
Multi-master (any node can For reading and writing)
High real-time performance, the writing operation can be read immediately
Easily add new SolrCores w/o restart across the cluster Easily add and restart nodes
Official website: https://github.com/tjake /Solandra
5. IndexTank
IndexTank is a Java-based index-real-time full-text search engine implementation. IndexTank has the following features:
Index updates take effect in real time
Geographical location search
Supports multiple client languages
Ruby, Rails, Python, Java, PHP, .NET & more!
Supports flexible sorting and scoring control
Supports auto-complete
Supports facet search
Supports match highlighting
Supports massive data Extension (Scalable from a personal blog to hundreds of millions of documents! )
Support dynamic data
Official website: https://github.com/linkedin/indextank-engine
6. Search engine Compass
Compass is a powerful, transactional, high-performance object/search engine mapping (OSEM: object/search engine mapping) and a Java persistence layer framework. Compass includes:
Search engine abstraction layer (using Lucene search referrals)
OSEM (Object/Search Engine Mapping) supports
transaction management
similar to Google’s simple keyword query language
extensible and modular framework
simple API
Official website: http://www. compass-project.org/
7. Java full-text search server Solr
Solr is also implemented based on Java and is implemented based on Lucene. The main features of Solr include: efficient and flexible caching function, vertical search function, highlighting Show search results. It’s worth noting that Solr also provides a great web interface for managing indexed data.
Official website: http://lucene.apache.org/solr/
8. Lucene image search LIRE
LIRE is a Java-based image search framework, and its core is also based on Lucene. You can use this index to Build a content-based image retrieval (CBIR) system to search for similar images.
Official website: http://www.semanticmetadata.net/lire/
9. Full-text search engine Egothor
Egothor is an open source and efficient full-text search engine written in Java. With the cross-platform features of Java, Egothor can be applied to applications in any environment. It can be configured as a separate search engine or used in your application for full-text retrieval.
Official website: http://www.egothor.org/cms/