solr快速上手:创建核心/索引/core(四)

news/2024/11/17 20:21:24/

0. 引言

上节,我们讲解了solr的核心配置文件managed-schema,了解定义索引的核心配置标签,今天我们来实操配置,创建一个索引

solr快速上手:solr简介及安装(一)

solr快速上手:核心概念及solr-admin界面介绍(二)

solr快速上手:managed-schema标签详解(三)

1. 业务场景概述

本次我们来创建一个订单索引,该索引包含如下字段,并且设置从数据库同步数据

字段说明数据类型
id订单idlong
order_no订单号string
product_name商品名称string
create_time创建时间date
create_user创建人string
remarks备注string
status订单状态int
address地址string
labels商品标签(多个)string

2. 新建索引

1、在solr安装路径的server/solr文件夹下创建一个新文件夹,名称与索引名称一致,用于存放新索引相关配置文件

cd /data/solr-8.2.0
mkdir server/solr/orders

2、我们在上节讲到,可以通过复制server/solr/configsets/_default/conf来快速创建新的索引,那么我们先复制该配置文件夹到我们创建的orders

cp -R server/solr/configsets/_default/conf/* server/solr/orders

在这里插入图片描述

3、修改managed-schema配置文件,因为带了很多默认配置,如果都不需要或者觉得删除麻烦的话,可以重新创建一个managed-schema文件,文件配置内容如下:

注意:

  • _version_字段要开启索引和排序
  • 所有字段用到的fieldType要在配置文件中显示配置
<?xml version="1.0" encoding="UTF-8" ?><schema name="default-config" version="1.6"><!--  默认字段,不需要的可以删除  --><field name="id" type="long" indexed="true" stored="true" required="true" multiValued="false" /><!-- docValues are enabled by default for long type so we don't need to index the version field  --><field name="_version_" type="plong" indexed="false" stored="false"/><field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/><!--  定义字段  --><field name="order_no" type="string" indexed="true" stored="true" required="true" multiValued="false" /><field name="product_name" type="string" indexed="true" stored="true" required="true" multiValued="false" /><field name="create_time" type="date" indexed="true" stored="true" required="true" multiValued="false" /><field name="create_user" type="string" indexed="true" stored="true" required="true" multiValued="false" /><field name="remarks" type="string" indexed="true" stored="true" required="true" multiValued="false" /><field name="status" type="int" indexed="true" stored="true" required="true" multiValued="false" /><field name="address" type="text_general" indexed="true" stored="true" required="true" multiValued="false" /><field name="labels" type="string" indexed="true" stored="false" required="true" multiValued="true" /><uniqueKey>id</uniqueKey><!-- 要声明使用的type --><fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/><fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true" /><fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/><fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/><fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/><fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true"><analyzer type="index"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><!-- in this example, we will only use synonyms at query time<filter class="solr.SynonymGraphFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/><filter class="solr.FlattenGraphFilterFactory"/>--><filter class="solr.LowerCaseFilterFactory"/></analyzer><analyzer type="query"><tokenizer class="solr.StandardTokenizerFactory"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /><filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/><filter class="solr.LowerCaseFilterFactory"/></analyzer></fieldType></schema>

4、修改solrconfig.xml配置文件,因为里面有一些不需要的默认配置,我们需要将其去除:

比如这些typeMapper的类型我们都没用到,自然不需要

在这里插入图片描述

将下图中的add-schema-fields整个updateProcessor标签配置及引用处删除,如下,后续我们详细讲解solrconfig.xml的配置详情,这里我们先以创建好索引为主

在这里插入图片描述

5、在solr管理界面,core-admin菜单,点击add core新增索引,默认采用的是schema.xml的形式,如果你想要采用这种形式,如上节所说,需要在server/solr/orders/solrconfig.xml中添加配置<schemaFactory class="ClassicIndexSchemaFactory"/>

这里我们直接用默认的managed-schema来演示

在这里插入图片描述

6、创建成功后,在schema页面可以看到索引的字段结构

在这里插入图片描述

7、我们通过update接口新增几笔数据用于测试

{
"id": 1,
"order_no": "20230100001",
"product_name": "苹果",
"create_time": "2023-05-31 00:01:00",
"create_user": "张三",
"remarks": "快递需派送上门",
"status": 1,
"address": "贵阳市观山湖xxx路",
"labels": ["水果","24小时","生鲜链","送货上门"  ]
}

在这里插入图片描述

8、点击全查询,可以看到我们刚刚创建的数据

在这里插入图片描述

3. 总结

如此,我们针对索引的新建就完成了,但是现在的数据还是手动添加的,理论上我们还需要从我们的数据库中把数据同步过来,实现自动数据同步,那么下一节,我们来看看solr数据同步如何操作。


http://www.ppmy.cn/news/136155.html

相关文章

python自动交易软件排名_量化投资软件排名 哪个量化交易软件最好用

量化投资软件排名 哪个量化交易软件最好用 点击&#xff1a;269 日期&#xff1a;2020-07-28 15:06:21.0 市面上的量化交易软件一多&#xff0c;大家就忍不住将它们进行分析和对比&#xff0c;然后再根据软件各方面的分析结果进行排名&#xff0c;主要就是对软件的专业性、交易…

期货资管系统|吉投期货分仓软件|期货分账户软件

该软件是针对机构&#xff0c;私募所&#xff0c;工作室开发。系统大体可分模拟交易客户端与实盘下单接口两部分。模拟交易总后台开设虚拟用户&#xff0c;用户成功下单&#xff0c;将下单的数据结果上报到模拟交易服务器&#xff0c;链接服务器针对回报的结果做算法处理&#…

全球十大正规外盘期货交易APP平台排名(2022版)

期货交易又称期货合约交易&#xff0c;就是指由期货交易所统一制定的、规定在将来某一特定的时间和地点交割一定数量标的物的标准化合约。有些美国期货合约品种如大豆、铜对国内期货价格变动会有影响&#xff0c;国内投资者可以参考外盘行情。大型生产商与贸易商也可根据外盘行…

文华财经期货指标公式,期货交易用什么指标信号简单,准确率高,

期货指标公式是通过数学逻辑角度计算而来&#xff0c;仅是期货分析环节中的一个辅助工具。期货市场具有不确定性和不可预测性的&#xff0c;请正常对待和使用指标公式! 期货指标公式信号本身就有滞后性&#xff0c;周期越大&#xff0c;滞后性越久。指标公式不是100%稳赚的工具…

国内十大黄金期货交易APP平台排名(2022版)

在以黄金为交易对象的诸多产品中&#xff0c;国际黄金期货备受投资者的青睐。黄金期货也称黄金期货合约&#xff0c;是以黄金为交易对象的期货合同&#xff0c;指以国际黄金市场未来某时点的黄金价格为交易标的的期货合约。 如今已是移动互联网时代&#xff0c;各类APP成为投资…

资管软件、分仓软件、期货分仓、股票分仓、期货资管软件的实际应用

期货资管分仓系统&#xff0c;即资产管理系统可以将一个或多个真实账户&#xff08;主账号&#xff09;中的资金&#xff0c;分配给任意个子账号&#xff0c;每个子账号使用分配给自己的资金额度进行投资。系统可为每个子账号设置不同的保证金率、手续费率&#xff0c;并在收盘…

国外十大著名股票金融分析软件

国外十大著名股票金融分析软件 1. TradeStation 6 2. MetaStock 3. Advanced GET 4. Professional Traders Starter Kit 5. OmniTrader 2002: Stocks/Futures/Real Time 6. TC2000 ver 4.7 7. MetaStock Professional 8. NeuroShell DayTrader Professional 9. Trading Expert…

用Excel实现自动获取期货、期权、股票行情及下载历史数据

距离上次发这个贴子已经过去了半年了&#xff0c;期间又在之前的基础上完善细化了多版&#xff0c;可能比下面介绍的又多了些功能&#xff0c;如果要看新的成品的演示和获取软件程序&#xff0c;这里就总结在开头&#xff0c;如果想看细节&#xff0c;请直接下滑&#xff1a; …