solr集群分片

solr集群分片,第1张

>1 有时候我们会碰到这种情况:比如我们渲染一个table,从后端返回的数组里面并没有我们想要的字段,如果让后台帮忙加上的话,会增加冗余字段,这样会增加后端的维护成本,并不可取。

2 我们可以通过 this$set 来增加一个字段比如:

                    const lists = resdata // 后端返回数组
                    thistableData = listsmap(i => {

                        this$set(i, edit , false)
                        return i
                    })

3 更详细的可以去查看官方文档, ps:Vue官网转了好久打不开。。。

schemaxml是Solr中用户定义字段类型及字段的配置文件
一、types节点
在节点<types> 中定义 <fieldType>子节点
包含属性:
name: FieldType的名称
class: 指向orgapachesolranalysis包里面对应的class名称,用来定义这个类型的行为
omitNorms: 字段检索时被省略相关的规范
positionIncrementGap:定义在同一个文档中此类型数据的空白间隔,避免短语匹配错误
此外还可以建立索引和进行查询的时候要使用的分析器analyzer
<schema name="example" version="12">
<types>
<fieldType name="int" class="solrTrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0" />
<fieldType name="float" class="solrTrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0" />
<fieldType name="double" class="solrTrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0" />
<fieldType name="string" class="solrStrField" sortMissingLast="true" omitNorms="true" />
<fieldType name="text" class="solrTextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solrWhitespaceTokenizerFactory" />
</analyzer>
</fieldType>
</types>

</schema>
二、fields节点
<fields>节点下包含子节点<field>
包含属性:
name 字段名字
default
-字段的默认值
indexed=true|false
-被索引,如果一个字段设为true,那么它可一进行: earchable, sortable, facetable
stored=true|false
-true 则字段应当可检索
compressed=true|false
-true 使用gzip压缩存储(只适用 compressable;TextField和StrField)
compressThreshold=<integer>
-保证压缩到不小于一个大小
multiValued=true|false
-字段是否可以多个值
omitNorms=true|false
-true 则字段检索时被省略相关的规范
omitTermFreqAndPositions=true|false
-true 省略这一领域的长远频率,位置和有效载荷

<fields>
<field name="user_id" type="string" indexed="true" stored="true" required="true" />
<field name="name" type="string" indexed="true" stored="true" />
<field name="phone" type="string" indexed="false" stored="true" />
<field name="email" type="string" indexed="false" stored="true" />
<field name="image" type="string" indexed="false" stored="true" />
<field name="city_id" type="int" indexed="true" stored="true" />
<field name="address" type="string" index="false" stored="true" />
<field name="created" type="int" index="false" stored="true" />
<field name="all" type="string" index="true" stored="true" />
</fields>

2dynamicField 动态字段
动态字段,没有具体名称的字段
name为_i,定义它的type为int,那么在使用这个字段的时候,任务以_i结果的字段都被认为符合这个定义。如name_i, school_i
<dynamicField name="_i" type="int" indexed="true" stored="true"/>
<dynamicField name="_s" type="string" indexed="true" stored="true"/>
三、 uniqueKey 设置字段惟一
<uniqueKey>user_id</uniqueKey>

四、默认搜索字段
<defaultSearchField>name</defaultSearchField>
五、默认搜索类型
<solrQueryParser defaultOperator="AND|OR" />
六、copyField 拷贝到另一个字段
<copyField source="name" dest="all"/>
<copyField source="email" dest="all" />
schemaxml 例子:
<xml version="10" encoding="UTF-8" >

<schema name="example" version="12">
<types>
<fieldType name="int" class="solrTrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0" />
<fieldType name="float" class="solrTrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0" />
<fieldType name="double" class="solrTrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0" />
<fieldType name="string" class="solrStrField" sortMissingLast="true" omitNorms="true" />
<fieldType name="text" class="solrTextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solrWhitespaceTokenizerFactory" />
</analyzer>
</fieldType>
</types>

<fields>
<field name="user_id" type="string" indexed="true" stored="true" required="true" />
<field name="name" type="string" indexed="true" stored="true" />
<field name="phone" type="string" indexed="false" stored="true" />
<field name="email" type="string" indexed="false" stored="true" multiValued="true" />
<field name="image" type="string" indexed="false" stored="true" />
<field name="city_id" type="int" indexed="true" stored="true" />
<field name="address" type="string" index="false" stored="true" />
<field name="created" type="int" index="false" stored="true" />
<field name="all" type="string" index="true" stored="true" />
<dynamicField name="_i" type="int" indexed="true" stored="true"/>
<dynamicField name="_s" type="string" indexed="true" stored="true"/>
</fields>

<uniqueKey>user_id</uniqueKey>
<defaultSearchField>name</defaultSearchField>
<copyField source="name" dest="all" />
<copyField source="phone" dest="all" />
<copyField source="email" dest="all" />
</schema>

此结果已验证。
SELECT (SELECT COUNT(id) FROM 查询表 AS tbl1 WHERE tbl1id<=tbl2id) as seq,
FROM 查询表 AS tbl2 ORDER BY 1 ;
其中 id 为主键 列。
查询出来的 结果是0,1,2,3,。

如果要以1,2,3,4,5,6,7, 开始的则变成:
SELECT (SELECT COUNT(id) FROM 查询表 AS tbl1 WHERE tbl1id<=tbl2id)+1 as seq,
FROM 查询表 AS tbl2 ORDER BY 1 ;

以插入语句的方法来解决此问题。

如下参考:

1在添加字段之前,第一个zd应该首先检查tb1表的当前结构。

2将字段列instance添加到表中,如下图。

3再次查看表结构,比较添加字段之前和之后的情况。

4最后,插入新的数据行,看看它是什么样子,最后就加入了自动增长字段如下图。

注意事项:

MySQL使用的SQL语言是访问数据库最常用的标准化语言。MySQL软件采用双重许可政策,分为社区版和商业版,由于其体积小,速度快,整体拥有成本低,尤其是开源这一特点,一般中小型网站开发都选择MySQL作为网站数据库。

需要先打开软件进行设置。
1、进入设置-系统设置-自定义设置-客户。
2、选择字段设置-自定义设置中新建选择下拉框点下一步。输入字段名称为性别。取值选项输入男,另起一行输入女。点确定。
3、在编辑页面布局中把性别字段拉到页面即可。
建模就是建立模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13341718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存