问题标签 [saved-searches]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 如何实现保存的搜索场景
什么是保存搜索?
保存是用户在高级搜索中找不到所需结果的机制,只需按下“保存我的搜索条件”底部,我们就会保存搜索条件,当相应的数据发布到网站时,我们会通知用户“嘿,用户,该项目( s)您正在寻找的存在现在来访问它”。
已保存的搜索对于具有复杂搜索选项的站点或用户可能希望重新访问或共享动态搜索结果集的站点很有用。
我们有高级搜索,不需要实现新的搜索,我们需要一个良好的性能场景来实现保存搜索机制。
我们有一个网站,用户每天在网站上发布大约 120,000 条帖子,我们将实施 SAVED SEARCH 方案(类似于https://www.gumtree.com/所做的事情),这意味着用户使用高级搜索,但他们找不到他们想要的内容,只想保存搜索条件,如果网站上有任何结果,我们会通知他们。
我们在我们的网站中使用 Elastic search 和 Mysql。我们仍然没有实施任何东西,只是想找到可以处理高约会率的好解决方案,另一方面**问题是工作规模,因为我们每天有很多帖子,而且我们猜测用户经常使用此功能,因此我们正在寻找可以轻松处理这种规模的工作并具有高性能的良好场景。
建议的解决方案,但不是最好的
一个快速的解决方案是我们将保存的搜索保存在 Elastic 中的保存搜索索引中,然后运行一个 cronjob,为所有保存的搜索项从 Posts-index-Elastic 获取结果,如果有任何结果,将记录推送到 RabbitMq 到通知等效用户。
在用户将项目发布到网站时,我们检查它是否存在已保存的搜索在 Elastic 中的保存搜索索引中,如果匹配,我们将记录放入 RabbitMq,(这种方法的主要问题是它可以匹配一个巨大的插入网站的每个帖子中保存的搜索次数)。
我最关心的是规模和性能,我会很感激与我分享你关于这个问题的经验和想法。
我对规模的估计
- 已保存搜索的有效期为三个月
- 每天至少 200,000 次保存搜索
- 所以我们有9,000,000 条活动记录
如果您与我分享您的想法,我将不胜感激
*仅供参考** - 我们的队列作业也有 RabbitMQ - 我们的 ES 服务器足够好,有 64GB RAM
datetime - NetSuite 保存的搜索以计算系统注释更改所经过的时间
我想计算从在系统注释中设置一个字段到在事务保存的搜索中再次更改它的时间。
这是我创建的 2 个案例公式,用于获取该字段设置为 True 和更改为 false 的日期和时间。
{systemnotes.field} = 'Problem Order' AND {systemnotes.newvalue} = 'T' 然后 {systemnotes.date} 结束的情况
{systemnotes.field} = 'Problem Order' AND {systemnotes.newvalue} = 'F' 然后 {systemnotes.date} 结束的情况
我想找出 2 {systemnotes.date} 之间的区别。我该怎么做呢?
netsuite - Netsuite 自定义子列表保存的搜索是否按自由格式文本字段过滤?
我熟悉通过创建保存的搜索和可用过滤器子选项卡在 NetSuite 表单上创建自定义子列表,从列表/记录类型字段中添加至少一个可用过滤器。如果您不使用列表/记录类型字段作为第一个可用过滤器,则保存的搜索不可分配为子列表。
是否有解决方法将保存搜索添加为由自由格式文本字段过滤的自定义子列表?有没有办法使用 SuiteScrpt 实现这一目标?具体来说,我想在销售交易中使用 otherrefnum 字段来过滤显示具有该 otherrefnum 的所有其他交易的搜索。很感谢任何形式的帮助!
netsuite - NetSuite 交易日期
NetSuite 交易中有很多日期可供选择,特别是销售订单。我正在使用 SuiteTalk 将运输信息从 NetSuite 同步到旧系统。哪个日期是确定针对销售订单发生活动以指示已发货的正确日期?
javascript - 使用 Netsuite 保存的搜索提取项目名称
我想使用保存的搜索提取子项目的项目名称/编号。Netsuite 帐户包含项目层次结构父项-> 子项。父母的姓名是 PARENT,孩子的项目名称/编号是 CHILD。我已经为项目创建了一个已保存的搜索,在拉取子项目名称时,它显示为 PARENT : CHILD。但是,如果正在提取子项的数据,我希望它显示为 CHILD。我也尝试使用 {itemid} 但它不起作用。
netsuite - NetSuite 联系人搜索中的重复结果
有人可以帮助我理解为什么我在 NetSuite 中的联系人搜索中只有当我将客户字段作为结果列时才会得到重复的结果?以下是我如何重现此问题的步骤。
- 创建新的联系人搜索
- 添加单个条件:内部 ID是 230、597、1808 中的任何一个
- 对于结果,只返回一个列,内部 ID
- 提交搜索。3 个结果按预期返回(下面的屏幕截图)。
- 返回搜索条件
- 对于结果,添加第二列Customer : Internal ID
- 再次提交搜索。这次返回六(6) 个结果(下面的屏幕截图)。
令我难以置信的是,不仅结果数量翻了一番,而且基于Customer : Internal ID值不同的事实,结果实际上看起来是唯一的。是什么导致了这种行为?
netsuite - 哪个用户最后修改了 NetSuite 中的记录?
我正在尝试列出上次在 NetSuite 中修改客户记录的用户/员工,但我没有看到任何可以提供此信息的字段或连接字段。如何查看谁(自动化服务用户或员工用户)最后修改了记录?
我研究了以下领域,但它们似乎没有提供我正在寻找的东西。
- 系统注释字段...可能包含零个或多个与客户的上次修改日期匹配的记录。对于确定谁最后触及记录不可靠。
- 工作流历史字段...不包含任何有关用户的信息
- 用户字段...似乎是与当前用户相关的字段,而不是与接触给定记录的用户相关的字段
netsuite - 在结果选项卡中使用电子邮件主题和正文的已保存搜索的已保存搜索
我正在尝试创建已保存搜索的已保存搜索,以查看哪个已保存搜索正在发送哪个电子邮件。现在,一旦我从 netsuite 中保存的搜索中获得了 100 封自动电子邮件,我想组织它们。
例如,我希望所有活动的已保存搜索都带有结果:
- 搜索名称
- 搜索 ID
- 电子邮件主题
- 电子邮件正文
- 收据
我现在只能找到 1(姓名)、2(内部 ID)和 5(SearchSchedule:收件人)。
顺便提一下,我正在寻找的这个保存的搜索被安排在每天或每周的事件中,这将触发电子邮件发送出去。
有没有办法得到3和4?
dom - 根据结果为 Netsuite 套件的子列表行添加颜色
有没有办法根据条件向子列表的行添加颜色。我已加载保存的搜索以在子列表上显示输出。但是现在我想突出显示今天日期和审计日期(搜索输出)之间的差异超过 100 天的行。
我在用于 Netsuite 的 UI Builder API 中找不到任何功能来执行此操作。请让我知道是否有其他方法可以做到这一点。以上是我用来在套件中显示搜索结果的代码。