从升级到跑路
兄弟 广告不是这样打的吧
11
公司很 nice
主题什么时候能定下来?
大郑州
我看一下 多谢
关于搜索结果排序及分页的问题,response.records 这种写法可以对搜索结果进行分页,但是排序是按照 record 的主键排的而不是按照得分排序,response.records.to_a 这种写法的排序是按照得分排的,但是又不能用 kaminari 或者 will_pagenation 对搜索结果分页了,现在又想分页还想排序是按照得分大小来排,这个该怎么解决 @xguox
找到问题了,在 index 的时候没有指定路由,现在这个问题暂时解决了 多谢
这是企业的maping document_type: 'ent'
mapping dynamic: false do
indexes :name, type: 'text', analyzer: 'smartcn'
...
end
品牌document_type 'brand'
mapping _parent: { type: 'ent' }, _routing: { required: true } do
indexes :name, type: 'text', analyzer: 'smartcn'
...
end
产品document_type 'product'
mapping _parent: { type: 'brand' }, _routing: { required: true } do
indexes :name, type: 'text', analyzer: 'smartcn'
...
end
三个 document 在同一个 index 中,现在创建对应的 ent, brand 和 product 之后,执行搜索,发现经常命中不了产品层级,如果把 es 的 index 删除重新创建数据的话,有时会命中产品层级,这是为啥呢?难道是产品的 maping 里面的_routing 设置有问题然后 ent-brand-product 不在同一个分片上?brand 层级的东西每次都能命中,product 层级的想要命中就得看心情了
搜索时执行的 query 如下:
def self.search(query)
__elasticsearch__.search(
{
query: {
bool: {
"filter": {
"term": {
"verified": "true"
}
},
should: [
{
multi_match: {
query: query,
fields: ['name^3', 'short_name^4', 'vision^2', 'introduction']
}
},
{
has_child: {
type: 'brand',
query: {
bool: {
"filter": {
"term": {
"verified": "true"
}
},
should: [
{
multi_match: {
query: query,
fields: ['name^3', 'connotation^2', 'story']
}
},
{
has_child: {
type: 'product',
query: {
bool: {
"filter": {
"term": {
"is_published": "true"
}
},
should: [
{
multi_match: {
query: query,
fields: ['name^3', 'description^2', 'introduction']
}
}
]
}
},
inner_hits: {
size: 3,
_source: true
}
}
}
]
}
},
inner_hits: {
size: 1,
_source: true
}
}
}
]
}
}
}
)
end
@huacnlee 要开启 ssl_stabling,ssl_trusted_certificate 这个后面应该是啥?
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate ...;
没有知道怎么搞得吗
说好的邮件必回呢
大郑州 顶一个
贵司收实习否?
收实习否
收实习否 小白自学中...
还招实习吗
新司机还在自学,等学成就去贵司应聘
新司机,还在自学中