Solr是基于Apache Lucene构建的用于搜索和分析的开源解决方案。提供可拓展索引、搜索功能、高亮显示和文字解析功能。本质是一个java web项目,内嵌Jetty服务器,安装方便。
请求Solr中的控制器,处理完数据后把结果相应给客户端
正向索引:
从文档内容到词组的过程。每次搜索的实收需要搜索所有文档,每个文档比较搜索条件和词组
反向索引:
是正向索引的逆向。建立词组和文档的映射关系。通过词组就能找到文档内容(和新华字典找字很像)
搜索原理 :
分词:对搜索条件/存储内容进行分词,分成日常所使用的词语
索引:存储在Solr中内容会按照程序员的要求来是否建立索引。如果要求建立索引会把存储内容中关键字(分词)建立索引
Solr中数据存储说明
Solr由java编写
ik-analyzer.jar 目录:/usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib 处理中文
修改配置文件:# vim /usr/local/solr/server/solr/testcore/conf/managed-schema
添加下面内容。
排版:Esc退出编辑状态:gg=G **IK Analyzer配置**
managed-schema配置说明
2.1、<fieldType> 表示一个属性类型。在Solr中属性类型都是自定义的。
2.2、<field/> 常用属性:name:属性名 type: 属性类型 indexed: 是否创建索引stored: Solr是否把该属性值相应给客户required: 该属性是否是必须的。默认id 是必须的 multiValued:复合属性
2.3、<uniquedKey> 唯一主键
2.4、<dynamicField> 名称中允许*进行统配。代表满足特定名称要求的一组属性
Dataimport:
可以快速将数据库中的内容导入到Solr中
保证managed-schema中的字段与数据库中表的列对应
documents:做增删改 xml格式
query菜单项讲解:
使用SolrJ操作Solr: 新增 修改 删除
Solrj查询条件查询
SpringData 保存:
spring-boot-starter-data-xx
测试:@RunWith(SpringJUnitClassRunner.class)
@SpringBootTest(classes = DemoApplication.class)
修改&删除
查询:
SolrCloud:
完结