Analysis of front-end applications of full-text search (SOLR)

Source: Internet
Author: User
Tags solr lucidworks netbeans

I recently found a functional solution for searching in a knowledge management system and found a good reference application solution for analysis. I hope that similar applications can communicate with each other.

When talking about full-text retrieval, Lucene's famous name is estimated that people on earth know that after so many years of development, peripheral applications are rich and colorful. SOLR provides a web-based solution based on Lucene API. The application of lucid is encapsulated around common enterprise applications based on SOLR.

How to embody SOLR-based application front-end

Http://www.lucidimagination.com/blog/2010/01/14/solr-search-user-interface-examples/

This articleArticleIntroduced a varietyProgramVarious applications implemented in languages

This article focuses on the rubySource codeImplemented applications

Lucid introduction

Download http://www.lucidimagination.com/downloadsLucidworks Enterprise,Then install the tool to view the effect.

The topic architecture is as follows:

SOLR core is part of the integration with luncenesolr LWE-core

Lucid custom enhancements and interfaces provide a wide range of application layer references.CodeIt is written in Ruby, but runs in jruby.

The use process is the SOLR first started, and then the lucid started

Code Analysis

ExamplesThere are call references for the search service rest service such as C # Perl python. If you are only concerned with SOLR application, you can only refer to this part.

LWE-coreThe SOLR service is under the Directory, which is written in JSP and run in the jetty container. This part is used by the public, so we do not need to repeat it.

RailsThe directory is the lucid service, which is written in Ruby. The search, alarm, and management functions are written independently as plug-in. rails3.0.5 is used, and the view layer uses ERB and haml.

Ruby has relatively few users. It is difficult to analyze the content of this part. The following are some parameters:

1. rails3 has greatly improved compared with 2, and some commands are simplified. Therefore, pay attention to this part.

2. The view layer uses the haml template, so you need to understand it. Otherwise, you cannot see such a view. jquery, jquery-ui, and other plug-ins are used in the browser interface.

3. This program uses sqlite3 to store data by default, while jruby runs in windows. If you need jruby to run directly, you can replace it with MySQL.

4. Check the code and use netbeans. It is best to use version 6. After version 7, Ror is not directly integrated. [The specific method is to create a ROR project, copy the nbproject directory to this project directory and open it with netbeans]

5. When analyzing this project, it is best not to install the standard Ruby version. Otherwise, jruby-s needs to be input before gem rake and other commands to distinguish jruby and Ruby runtime environments. This is very troublesome.

The entry to start a lucid application is: start "lucidworks rails"/B "% JVM %"-CP bin startutil start "% JVM %" 1>. /logs/ruby-stdout.log 2>. /logs/ruby-stderr.log

The above command line actually runs: [the current directory is rails]

Javaw "-djava. AWT. headless = true-dlog4j. configuration = file :.. /CONF/log4j. XML "-jar .. /lib/jruby-complete-1.5.3.jar-R .. /lib/bundler. jar-s script/rails server-e production-P 8989

Bundler. jar is the RB file package for managing the dependencies of the GEM package.

The jruby-complete-1.5.3.jar is the interpretation environment of jruby, Which is carried to JRE, so Ruby can call each other between Java

Lucid application result interface reference

Including index, index statistics, and search enhancement from multiple data sources

For details, refer to "lucidworks enterprise user guide.pdf" in docs under the installation package. This gives a detailed explanation of the entire application.

For more detailed content, we will analyze it in detail later.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.