opensearch 实战记录 细节太多了

不用不知道 一用细节太多了 打算全部分享出来

 

=======2019-11-05 等有时间更新 欢迎讨论

 

更新一波===2020 -01-21

1 可以建立单个索引,也可以组合索引.(目前默认组合索引个数最多是4个,每个组合索引最多8个字段),能建立索引的字段类型只能说TEXT or SHOT TEXT.

这里有个地方需要注意:最好设置一个索引名称为default,原因如下(控制台查看高配词语):

配置raw_query的话会采用名字是default索引上的value作为query,如果没有default索引,则query全是空。

就是您搜索的时候如果是default:'测试',那么才会被采集,如果不是default做搜索,那么query语句会是空的

集群表中datetime及timestamp此类时间类型,系统会自动转化为毫秒数,请将对应应用表字段类型设置为TIMESTAMP

2 查询分析

组合索引可以配置多个查询规则,如下图

 

同时需要注意 一个索引字段只能包含在一个规则当中,会导致开放搜索不知道这个索引使用了哪个规则.

3 关于自定义分词

干预后,“分词器”和“开放搜索”不管出现什么样的上下文中,都会被当做独立的语义实体,系统对它们还会进一步切分,例如:“分词器”可能会保留原词,而“开放搜索”可能会被进一步切分成“开放“和“搜索”两个更细粒度的词。

4 opensearch主辅表关联关系

通过手动创建应用结构方式,为应用创建多个表时,多表之间数据关联关系描述如下:

目前主辅表,仅支持 N:1 或 1:1 的关系,不支持 1:N(即多表数据关联关系中,多的一方只能是主表,且主表只能有1个)

主辅表需通过应用表外键与附表主键进行数据关联,且表外键只能关联辅表主键。

最多只支持2层关联。附表最多添加10张.

5 关于精排表达式报错问题(6601)

排序表达式中的text_relevance(field)、fieldterm_proximity(field)等文本feature中的field必须在查询的索引包含的源字段中,否则会报错,但不影响搜索结果(这里field是字段名称 不是索引名称)

6 修改应用结构的时候提示:算法字段不可修改

原因是配置了算法服务: 配置了算法服务的就是算法字段,比如下拉提示、类目预测

7 查询分析应用的索引字段和分词方式:

适用于通用分词

8 为什么有的飘红没问题,有的有问题:

飘红的时候最多对字段前10000个字节进行飘红,之后的就不管了。主要是性能考虑。你的这个字段太长了,和佳股份(300273)--领先前瞻视野, 比较靠后了

9 开发搜素数据同步问题:

1. 直接把源表删除,开放搜索会保留数据的

2.truncate 清空源表数据,开放搜索会保留数据的

3.delete 清空表数据,开放搜索就不会有数据了

一般不建议使用truncate,这样会导致您的源数据和开放搜索不同步。

10 飘红,摘要情况:

片段长度:一个汉字2个字符,一个英文符号1,不过有一种情况。如:滴滴,打车 其中逗号为中文逗号。设置片段长度为8只会召回滴滴, 并不会召回后面的打车。因为打车算一个词。不能单独召回打字。必须将片段长度设置为10才可以全部召回。

11 关于精排 field_match_ratio 函数 和ta_match函数特别是后者有很大的作用

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值