Solr基于Lucene。

利用 Apache Zookeeper针对高流量进行优化。

Solr功能

前辈的全文搜索功能。

solrphpApache Solr入门教程 Angular

XML,JSON和HTTP - 基于开放接口标准。

高度可扩展和容错。

同时支持模式和无模式配置。

分页搜索和过滤。

支持许多紧张措辞

丰富的文档。

安装Apache Solr

bin:启动和停滞做事器的脚本。

example: 示例。

server/logs 文件夹,所有Solr日志都写入该文件夹。

server/solr文件夹包含不同的凑集或核心(core/collection)。
对付各凑集或核心的配置和数据都存储在相应的凑集或核心文件夹。

Solr内置Jetty做事器

启动Solr

solr start

默认为端口8983。

http://localhost:8983/solr/

配置Apache Solr

Apache Solr附带无模式模式选项。
这个选项许可用户构建有效的架构,而无需手动编辑模式文件。

建立核心(core)

Solr做事器在独立模式下启动的配置称为核心,

在SolrCloud模式启动的配置称为凑集。

首先,创建一个核心的索引数据。

solr create

-c <name>:要创建的核心或凑集的名称(必需)。

-d <confdir>:配置目录,在SolrCloud模式非常有用。

-n <configName>:配置名称。
这将默认为核心或凑集的名称。

-p <port>:本地Solr的实例的端口发送create命令; 默认脚本试图通过探求运行Solr的实例来检测端口。

-s <shards>:Number of shards to split a collection into, default is 1.

-rf <replicas>:凑集中的每个文件的份数。
默认值是1。

利用核心名称和配置目录-d参数-c参数。
对付所有其它参数利用默认设置。

solr create -c jcg -d basic_configs

JCG核心被添补在核心选择器上。

修正Schema.xml文件

子文件夹conf和data分别保存核心配置和索引数据。

在solr-6.3.0\server\solr\jcg\conf\managed-schema中添加如下内容:

<field name=\"大众cat\"大众 type=\公众text_general\"大众 indexed=\公众true\"大众 stored=\公众true\"大众/>

indexedtrue指定字段被索引。

stored指定字段是否被存储。

修正配置必须重启做事器。

solr stop -all

重启做事:

solr start索引数据

Apache Solr自带SimplePostTool的程序。

C:\solr-6.3.0\example\exampledocs>java -jar post.jar -h

Usage: java [SystemProperties] -jar post.jar [-h|-] [<file|folder|url|arg> [<file|folder|url|arg>...]]

索引数据:

java -Dtype=text/csv -Durl=http://localhost:8983/solr/jcg/update -jar post.jar books.csv

-dtype - 数据文件的类型。

-Durl - JCG核心的地址。

导航到以下网址并选择核心JCG:

按名称搜索

http://localhost:8983/solr/jcg/select?q=name:\"大众A Clash of Kings\"大众

首字母搜索

http://localhost:8983/solr/jcg/select?q=name:\"大众A\公众

利用通配符

http://localhost:8983/solr/jcg/select?q=name:\"大众of\公众

利用条件

如何查询价格低于¥6的书。

http://localhost:8983/solr/jcg/select?q=&fq=price:[0 TO 6]

Solr的客户端API

有不同的客户端API的可用来连接到Solr的做事器。

SolRuby – To connect from Ruby

SolPHP – To connect from PHP

PySolr – To connect from Python

SolPerl – To connect from Perl

SolrJ – To connect from Java

SolrSharp – To connect from C#

进行检索