不用不知道 一用细节太多了 打算全部分享出来
=======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函数特别是后者有很大的作用