Java的搜索-Solr(1)
最近比较轻松,准备学习Lucene。Lucene是一个开源的文本搜索库后者称之为框架。貌似框架有点大。它只是提供一个java类库,帮助我们实现比较难做到的基于文本的查询。其核心功能为创建索引和根据索引的查询。
Solr是一个企业级的搜索服务,在Lucene基础上做了一个封装,可以运行在各种web服务器上。比如tomcat。我们可以把solr看作一个web的应用,部署到服务器上给我们提供一个基于http协议的查询服务。
下载地址 http://mirror.khlug.org/apache//lucene/solr/
源码下载地址 http://svn.apache.org/repos/asf/lucene/dev/trunk/
下载后解压,目录结构
.
├── client 访问solr的客户端代码
│ └── ruby ruby语言的客户端访问代码
│ └── solr-ruby
├── contrib 扩展包
│ ├── analysis-extras 分词
│ │ ├── lib
│ │ └── lucene-libs
│ ├── clustering 集群
│ │ └── lib
│ ├── dataimporthandler 数据导入
│ │ └── lib
│ ├── extraction 与Apache Tika集成
│ │ └── lib
│ ├── langid
│ │ └── lib
│ ├── uima 与Apache UIMA集成
│ │ └── lib
│ └── velocity
│ └── lib
├── dist 用于发布的文件
│ └── solrj-lib
├── docs
│ ├── api
│ │ ├── org
│ │ ├── resources
│ │ ├── solrj
│ │ └── test-framework
│ ├── images
│ └── skin
│ ├── css
│ ├── images
│ ├── scripts
│ └── translations
└── example
├── etc
├── example-DIH
│ ├── hsqldb
│ └── solr
├── exampledocs
├── lib
│ └── jsp-2.1
├── logs
├── multicore
│ ├── core0
│ ├── core1
│ └── exampledocs
├── solr
│ ├── bin
│ ├── conf
│ └── data
├── webapps
└── work
└── Jetty_0_0_0_0_8983_solr.war__solr__k1kf17
Solr在启动时会查找solr的home 目录,默认为当前启动目录下的solr目录。
solr的目录结构
.
├── bin
├── conf
│ ├── admin-extra.html
│ ├── elevate.xml
│ ├── mapping-FoldToASCII.txt
│ ├── mapping-ISOLatin1Accent.txt
│ ├── protwords.txt
│ ├── schema.xml
│ ├── scripts.conf
│ ├── solrconfig.xml
│ ├── spellings.txt
│ ├── stopwords_en.txt
│ ├── stopwords.txt
│ ├── synonyms.txt
│ ├── velocity
│ └── xslt
├── data
│ ├── index
│ └── spellchecker
├── README.txt
└── solr.xml
运行solr自带的示例
运行如下命令
eric@CN-14830-1:~/temp/solr/apache-solr-3.5.0/example$ java -jar start.jar
当看到日志输出
2012-02-24 09:56:06.291:INFO::Started SocketConnector@0.0.0.0:8983
即启动成功。
打开ie输入
http://localhost:8983/solr/admin/
即可。
页:
[1]