Lucidworks View is a consumer-facing front end for Lucidworks Fusion. It provides a basic search interface with simple configuration, so you can quickly deliver a Fusion-based search solution with minimal development. View is powered by Fusion, Gulp, Angular, and libSaSS.
You can also use View as the basis for developing a more sophisticated Web interface, using Foundation for Apps: http://foundation.zurb.com/apps/docs/
If you need help setting up Fusion, see https://doc.lucidworks.com/.
If you downloaded a platform-specific package, all dependencies are included. Skip to Get Started step 4.
If you start by cloning the repository, you'll need the following software:
- Node.js: Use the installer for your OS.
- Git (if you're cloning the repo): Use the installer for your OS.
- Windows users can also try Git for Windows.
- Gulp and Bower: Run
npm install -g gulp bower
- Depending on how Node is configured on your machine, you may need to run
sudo npm install -g gulp bower
instead, if you get an error with the first command.
- Clone the repository, where
app
is the name of your app:
git clone https://github.com/lucidworks/lucidworks-view app
- Change into the directory:
cd app
- Install the dependencies:
npm install
bower install
- While you're working on your project, run:
-
If you downloaded a tar package:
./view.sh start
-
If you cloned the repository:
npm start
This will compile the SaSS, assemble your Angular app, and create FUSION_CONFIG.js
(if you haven't created it already). You'll see output that tells you which port was selected:
[BS] Access URLs:
------------------------------------
Local: http://localhost:3000
External: http://<external IP>:3000
------------------------------------
The default is port 3000, but if that port is already in use then the app selects the next highest available port.
- Now go to
http://localhost:<port>
in your browser to see it in action.
The first time you browse to the app, you'll see a login page. Use your Fusion username and password. To enable anonymous access, edit the anonymous_access
keys in FUSION_CONFIG.js.
When you change FUSION_CONFIG.js or any file in the client
folder, the appropriate Gulp task will run to build new files. This uses browser-sync
for instant reload upon change of source files. Visit http://localhost:3001
(or whatever your terminal shows as the browser-sync UI) for the browser-sync
dashboard.
To run the compiling process once, without watching any files, use the build
command:
npm run build
npm run build
npm test
The first time you run npm start
, FUSION_CONFIG.sample.js is copied to FUSION_CONFIG.js. Modify this file to configure View's basic options. Documentation about the configuration keys is included in the file.
At a minimum, you must configure the collection
key to match the name of your Fusion collection.
In a production environment, you must also configure host
and port
to point to the UI service of your Fusion deployment. The default is localhost:8764
for development purposes.
When the app is running with BrowserSync, it reloads the configuration every time you save FUSION_CONFIG.js. You can modify the configuration and watch the app change in real time in your browser.
The title and logo for your interface are configured in FUSION_CONFIG.js as search_app_title
and logo_location
.
CSS options are configured in the files in client/assets/scss.
Templates for various UI components are located in client/assets/components.
Search results from different document types can use different templates. The client/assets/components/document
directory contains templates for some common document types, plus default templates for all others. Data types correspond to Connectors in Fusion. See Customizing Documents for details about working with these.
For more details about configuring and customizing View, see the docs directory.