问题标签 [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.

0 投票
1 回答
1031 浏览

join - Solr scoring based on subdocument (parent blockjoin)

I have the following structure of ... lets say products in a store. The Products have a rating. Then users can, additionally, rate the product (on their own). Lets say 300k Products plus 50k user-ratings (to each product)

Question 1: Are Subdocuments the right choice? I am adding everything with SolrJ, I did not find any other suitable method of doing that.

For sake of an example, you could copy and paste the following code to your collection:

Question 2 (The Important one): How can I query this index now, so that the documents are scored with a boost on the user-rating first (if one exists) and then by the product rating (and then by other fields, like the creation date, views, buys, ...)? Is that even possible?

I was looking into something like that:

That should return the documents in this order (ids): 3, 1, 2

But instead it returns:

0 投票
1 回答
24 浏览

solr-boost - 如何识别 solr 搜索结果中提升了哪些记录

我在我的项目中要求在那些已提升的记录上显示一个特殊标签。

用例:客户创建了一个提升规则来提升特定品牌的所有汤。现在当用户搜索词汤时,由于提升规则,给定品牌的所有汤将首先出现在列表页面中。现在的要求是在那些增强汤产品上显示一个特殊的标签。

尝试的方法:我分析了每条记录的分数,发现提升记录的分数是由我在提升规则中给出的提升值相加的。但是我没有得到任何明确的区别,因此我可以识别那些提升的记录并在它们上应用特殊标签。

寻找好的建议:)

0 投票
1 回答
17056 浏览

solr - SOLR 精确匹配提升了包含精确匹配的文本

我找不到更好的标题,如果可能的话,我希望稍后根据您的最终建议进行更改。

我的问题:

我有一个音乐艺术家的数据库。这些看起来像这样:“dr. dre feat. akon”、“eminem & dr. dre”、“dr. dre feat. ll cool j”、“dr. dre”、“dr. dre feat. eminem & skylar gray” . 我们只有两个字段:id 和 name。

在默认模式 solr 核心上,我运行以下查询:“q=dr.dre”,结果还可以,但并不完美,如下所示:

  • 博士。德雷壮举。阿孔
  • 阿姆和博士 dre
  • 博士。德雷壮举。会很酷j
  • 博士。dre
  • ...

请注意,他们得到了完全相同的分数。

我想要的是第一个结果是“dre 博士”,然后是所有其他结果,如下所示:

  • 博士。博士<<--博士。dre 是第一位的
  • 阿姆和博士 dre
  • 博士。德雷壮举。会很酷j
  • 博士。德雷壮举。阿孔
  • ...

我如何实现这一目标?(过滤器、标记器、复制字段等并不重要。我无法更改 solr 内的代码,正如我在其他一些论坛上所建议的那样)

谢谢。

0 投票
3 回答
1077 浏览

solr - 如何降低 dismax 中的术语

全部:

我想要做的是对内容字段中具有“季节”的文档进行高分,并在标题字段中严厉惩罚具有“季节”的文档并提升新创建的文档。

我想知道如何在 Dismax(或 eDismax)中做到这一点?谢谢

0 投票
1 回答
165 浏览

search - 有没有办法判断 SOLR 中的结果是否得到提升?

我有一个搜索系统,允许用户设置他们的偏好,然后根据这些偏好提升 SOLR 搜索的结果。当结果被提升时,我想给用户一些视觉反馈,但要做到这一点,我需要找到一种方法来判断特定结果是否被提升。

到目前为止,我已经考虑过使用分数值,如果分数高于某个阈值,那么我知道它已经被提升了,但是分数似乎从查询到查询变化很大,所以我不知道如何设置这样的门槛。

如果我在结果中以某种方式获得了预提升分数,那么我可以将其与最终的提升后分数进行比较,并知道结果已被提升,但我认为预提升分数不可用(请如我错了请纠正我)。

有没有人有任何其他想法如何实现这一目标?

0 投票
1 回答
409 浏览

java - lucene boosting如何受lengthNorm相似性的影响

我有两个文档,其中包含:

doc_1one two three four five Bingo

doc_2Bingo one two three four five

我在两个字段中分别编制索引,其中一个字段包含前 5 个术语,第二个包含最后一个术语。

为了更好地查看提升结果,我实现了以下相似性:

在不应用任何提升的情况下,在具有相同分数的两个文档中搜索Bingo结果(如预期和预期的那样)。但是,当对其中一个字段 ( ) 应用提升时start_field.setBoost(5),两个分数保持相同,尽管doc_2的字段包含Bingo被提升。

如果我删除customSimilarity,提升按预期工作。

为什么会boosting停下来lengthNorm,我怎样才能使提升工作与给定的覆盖相似性?

0 投票
1 回答
787 浏览

apache - 即使我给出了高分,Solr 提升也没有按预期工作

我有一个搜索字段,用户可以根据三个字段搜索产品productCFN (String type)productBrand (String type)productUpnName (text type)。我根据优先级给出提升值,以便结果以相同的顺序出现(最高提升值到最低提升值)。

但搜索行为未按预期工作(有时)。我已经给出了这样的提升值

productCFN 100 [我们根据为搜索字段提供的值自定义了提升值]

产品品牌20

产品名称 50

所以如果我在搜索,它应该首先搜索productCFN 然后productUpnName 然后productBrand 并且在相同的订单结果将显示在前端

我也检查了查询,似乎是正确的,但不知道为什么排序不起作用(我用“CC0”搜索)

我的问题是为什么即使我给 productCFN 打了最高分,productCFN 以“CC0”开头的产品也没有排在首位。

我认为整个问题是由于接近而造成的,但我已经给出了最低分值,但有时 resule 显示的顺序错误。

我正在使用StandardTokenizerFactoryTokenizer 对空格进行标记,以及去除字符。它真的适合我的要求还是更好用KeywordTokenizerFactory

我也搜索过DISMAXEDISMAX。如果与接近度和提升值一起使用,它真的会影响结果吗?

让我们再举一个例子,我有一个带有 productCFN 的产品X0406295L,我开始搜索,X04但它在顶部显示了错误的产品。

productCFN - 176-504 productUpnName - CASE 176-504 ATLANTIS SCREW TRAY FA

我很惊讶为什么它正在搜索上述产品,即使该产品没有任何品牌并且 UPN 名称也不包含X04单词。它是否真的基于数字进行标记,因为04存在。我对 solr 搜索完全感到困惑。

请帮我。

0 投票
0 回答
546 浏览

java - Solr 精确单词结果优先

在 Solr-5.0.0 中,我有一个product_name字段。当我搜索一个词或多个词时,它会给出包含这些词的产品名称的结果。我怎样才能做到这一点,因为完全匹配是第一位的。

我的Schema.xml如下:

我的字段定义也在下面给出:

在索引时间或查询时间需要任何提升吗?还是别的什么?

0 投票
1 回答
335 浏览

solr - 确切的词对 Solr 没有太大的推动作用

作为给定链接中的参考

我试过一个例子。我的 schema.xml 配置如下。

精确的单词搜索适用于此。

但是具有精确匹配提升的模糊搜索并没有给出预期的结果。这是我的查询

有什么帮助吗?

0 投票
2 回答
1094 浏览

solr - Solr Negative Boost Query 结果包含一些特定的词

我有一个字段item_name,在 Solr 5.0.0 中被索引。如何对包含某些特定单词的查询结果进行负面提升?

例如,假设我item_name喜欢:

如果我搜索,laptop bags那么它会返回如下结果:

如何对item_name包含以下单词的内容给予负面或低的提升:

有没有, ...

目标是item_name包含这些单词不会出现在结果的顶部?

stopwords注意:在这种情况下有什么关系吗?