问题标签 [solr-boost]
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.
elasticsearch - 如何在布尔查询中提升索引查询
所以我想要实现的是与每个索引的自定义可搜索字段进行部分匹配。我生成match_phrase_prefix
带有要搜索的值的 a,如果它超过一个单词,我会为每个单词生成另一个。(我可以使用prefix
,但它有问题,或者有未记录的设置)。
在这种情况下,我正在尝试查找"belden cable"
; 查询如下所示:
我的目标搜索是先获得结果"belden cable"
,然后再搜索 just "belden"
or "cable"
。
这(通过示例)返回 4 个具有"belden cable"
的结果,然后返回一个只有 的结果"cable"
,然后是更多的结果"belden cable"
。
如何提升具有完整搜索价值的结果?(“belden cable”)
我尝试将单词和分离单词的索引查询分开,但它给出了最差的相关性结果。
我也尝试在match_phrase_prefix
for"belden cable"
中使用 boost 语句而不改变结果..
ruby-on-rails - 如何提升 Elasticsearch 中最近的 created_at 字段?
我想按照一些提升规则对我的查询结果进行排序,同时我希望它们尽可能按创建日期排序,如果我添加一个 created_at 排序,它会改变一切,我的结果不再相关。所以我想这样做的唯一方法是提升 created_at 字段(最新的在计算该提升的分数方面具有最大的奖励)但我不知道如何实现它。这是我的查询:
solr - 如何将 SolrField 值从 0 缩放到 1
我正在研究 Solr5+
我想将价格字段从 0 缩放到 1 以应用提升。
有什么办法可以做到这一点?
谢谢你的帮助!
solr - 在按字段结果排序的顶部获取 Solr 提升的结果
我们正在使用 Solr 5。我们能够将显示订单字段的排序应用于 Solr 查询,它工作正常。我们有某些提升的结果,并且总是首先需要它们。如果我们删除排序,海拔工作正常。但是,我们无法让它们一起工作。
我们希望首先在顶部列出提升的结果,然后根据显示顺序字段列出其他结果。
但是,我们无法找到如何做到这一点。任何帮助将不胜感激。
提前致谢。
solr - Solr 自定义加权/相关性
我想做一些类似 solr relevancy 并按评分排序的事情。但是 SOLR 相关性有一些定义的分数(tf-idf)。
例如:我通过字段“NAME”有提升方法并返回记录(来自 solr 的分数和我的预期分数)。
AA提升分数 3
BB提升分数 2
AB提升分数 1
ID、名称、分数、Expected_Score
1、AA、8、3
2、AA、6、3
3、AA、6、3
4、AABB、7、6
5、BB、9、2
您可以看到 solr 相关性将为名称“AA”提供不同的分数,因为它基于查询的默认分数,而不是仅字段名称。同样最重要的是,与“AA”相比,“BB”的得分更高,但助推器得分更低。
我希望仅基于自定义字段和数据的评分仅提升,而不受其他字段的影响。与 MySQL 权重(基于字段组合权重的排序结果)类似,但在 SOLR 中
search - solr 如何在查询中正确使用提升因子?
好的,所以我在 qf 中使用了许多字段,例如:
但我真的希望该领域的 FundraiseTitleExact 完全匹配。
使用之前的 qf 设置,他们处于第 32 位。
假设我正在提高fundraiseTitleExact,例如:
但即使是现在,fundraiseTitleExact 完全匹配仅在第 27 位(上升 5 个位置)上,并且不会上升。
我怎样才能优先考虑这个领域而不是其他领域?
search - Solr 相关性和提升最佳方法
场景是在多个字段值上提升文档:
我有一个Category
包含值的字段“”-“ News
”、“ image
”、“ video
”、“ audio
”。
现在基于上面提到的字段值,我想给它们一些提升(优先级),例如“ News
”获得最高优先级,其次是“ video
” ,然后是“”audio
等等。
与类别类似,还有更多字段,需要根据字段值以相同的方式进行提升。
前任。提升规则可以是,
... 很快
所以我遇到了一个解决方案Reference。我正在尝试找出计算我的搜索相关性结果集的最佳方法。
solr - 根据给定字段的值(数字)是否在特定范围内来提高分数
如果字段 A 中的值大于某个数字,我想提高记录的匹配分数。
例如,如果 A 中的值大于 4,我想给它一个 5 的提升。我分别尝试了以下操作bf
,bq
但没有成功。
我该怎么做?
java - Spring Solr 提升问题
我正在使用带有 Groovy 的 Spring Solr。
当我尝试提高结果时遇到问题。
为了解释,考虑一个简化的在线购物域,其中索引实体是产品。
用户有一个shoppingBasket 和一个wishList,每一个都是简单的产品代码列表(即List<String>)。这两个列表首先被处理以确保它们是不同的和唯一的。
一个简单的搜索可能是在产品文本(使用 copyField 制作的复合字段,包含其描述和标题)中的关键字字符串。
要求结果列出关键字在其文本中匹配的每个产品,首先显示购物篮中的任何产品,然后是愿望清单中的任何产品,然后是任何其他产品。
遇到的问题是,虽然进行了一些提升,并从每个分组的 wishList 和 shoppingBasket 中得到结果,但 shoppingBasket 匹配并不总是显示在 wishList 匹配之前。
根据每个列表中的产品,有时会按顺序显示:
所有 wishList 匹配,所有 shoppingBasket 匹配,所有其他匹配
而不是预期的:
所有 shoppingBasket 匹配、所有 wishList 匹配、所有其他匹配
使用以下标准应用提升:
看到这个类似的问题后,我注释掉了一个添加到 PageRequest 中的排序,这没有任何区别。
我还使用@Score 注释将分数包含在返回的结果中。检查这些,我可以看到 solr 对 shoppingBasket 或 wishList 中的所有匹配项给出了相同的分数。这些列表之外的所有匹配都会获得另一个较低的分数(它们之间相同)。
尝试了不同的提升值(分别为 10000.0f 和 5000.0f)无济于事。它确实产生了不同的分数,但在 shoppingBasket 或 wishList 中的所有匹配项之间仍然相同。
即使将搜索简化为仅提升标准,排序仍然存在。
任何想法,将不胜感激。
hybris - Hybris:更改默认提升值
我想始终显示特定制造商的产品。我尝试从后台应用提升规则。但即使应用了提升规则,产品也不会出现在顶部,而是出现在下方。这可能是因为升压因子不够。
默认提升因子设置为 100。有没有办法从后台或其他地方更改此值?