问题标签 [morelikethis]

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 回答
4334 浏览

solr - 如何在 Solr 中约束/过滤更多类似结果?

在 Solr 中,我想知道是否可以从标准(dismax)查询中约束/过滤“More Like This”结果集 - 例如,无需使用特定的 MoreLikeThis 请求处理程序?例如,我有一个 Solr 索引,其中包含两个国家的文档。当我进行原始 (dismax) 查询时,我使用字段查询运算符 (fq) 来过滤感兴趣国家/地区的结果。但是返回的 MLT 结果是针对这两个国家的。我尝试使用 mlt.fl=country,name 来指示“向我显示更多与国家和名称相似的结果”,但它似乎不符合国家标准(或者至少名称参数远远超过国家参数) .

我似乎找不到任何表明有此选项的 Solr 文档,但我希望你们中的一个 Solr 专家可能对此有一些漂亮的技巧/黑客。

提前致谢!

0 投票
1 回答
238 浏览

solr - 通过 SOLRNET 将 SimilarResults 添加到模型的本机方式

我正在使用 SOLRNET,并且正在使用 SOLR 的 MoreLikeThis 功能来获取与返回的文档相似的文档。我的代码看起来有点像这样(在这种情况下,我正在查找 ID,因为我已经知道要加载的特定文档):

当我执行我的查询时,一切都完全正常,并且我的文档被检索为 MyDocument 类型。我可以遍历 SOLRNET 的 SimilarResults 字典,看到确实返回了类似的文档。我想知道是否有一种本地方法可以映射 MyDocument 类中的字段,以便填充 MyDocument 类型的集合,表示返回的类似文档。

如果我必须一个一个地遍历 SimilarDocuments,那很好,但我猜有一种简单的方法可以做到这一点。我已经尝试了明显的技巧,例如在 MyDocument 类中使用属​​性进行映射

任何帮助将不胜感激,

提前致谢

J.P

0 投票
1 回答
5814 浏览

lucene - 如何查找类似文件

如何在 Lucene 中找到给定文档的类似文档。我不知道文本是什么,我只知道文件是什么。有没有办法在lucene中找到类似的文件。我是新手,所以我可能需要一些手握。

0 投票
2 回答
1514 浏览

solr - Solr 的“More like this”是否支持构面查询?

我已经能够使用 Dismax 处理程序进行刻面和突出显示。

我尝试对 More Like This results 进行分面,例如此查询:“获取类似于 '11qualcomm.doc' 的文档,其 'doc_keywords' 具有 'Communication' 作为强制性。

但结果是:

这意味着分面仅适用于q=id:"11qualcomm.doc"而不适用于 MLT 结果集。

分面是否适用于 MLT 结果集?如果是,我做错了什么?

0 投票
1 回答
758 浏览

c# - 如何过滤 MoreLikeThis 查询

我正在使用 SOLR 并尝试过滤 MoreLikeThis 查询。每次我做过滤器时,我都会得出零结果。这是我正在使用的代码:

如您所见!new SolrQuery("site:" + SiteId),是过滤器。当我在查询中添加此过滤器时,我没有得到任何结果。

这是查询的作用。我在 solr 索引中有一堆网页:

  • ID
  • 标题
  • 内容
  • 站点标识

morelikethis 查询需要一个id然后获取相似的文档。过滤器假设通过 siteid 过滤网页。当我应用 siteid 过滤器时,它不起作用。对此有什么想法吗?

0 投票
1 回答
345 浏览

c# - 如何按 ID 过滤

我正在使用 Lucene.Net MoreLikeThis 功能。我试图弄清楚如何通过 id 过滤 MoreLikeThis 查询。例如,我不希望结果中有任何 ID 为 15 的记录。我该怎么做呢?

0 投票
1 回答
828 浏览

solr - 如何在多核设置中使用 Solr 的 MoreLikeThis 功能?

因此,我使用运行良好的 MultiCore 功能设置了具有多个内核的 Solr:

按预期工作并列出结果。

现在我要做的就是在启用 MoreLikeThis 的情况下向 Solr 发送相同的查询:

我在 org.apache.solr.schema.FieldType.storedToIndexed 收到HTTP Status 500 - null java.lang.NullPointerException。mlt.fl 的字段存在。有趣的是,如果我查询没有任何结果的东西,Solr 会正确返回一个空结果集。

那么这是一个错误还是我错过了什么?

这是完整的堆栈跟踪:

0 投票
0 回答
186 浏览

solr - Solr 4 术语列表与分析结果不同

我试图使用 MoreLikeThisComponent 来查找类似的文档。对于其中一个结果,我想知道 MLT 使用的术语,因为“interestingTerms”包含不属于文本分析结果的术语。

以下是在文本分析期间识别出的术语:

  • 1er
  • 延迟
  • 莱施
  • 储备

这是 TermsComponent 返回的内容:

  • 1er
  • 延迟
  • 杰洛施特
  • 洛施
  • p12
  • 储备
  • 施耐德

所以根据文本分析的结果,术语“p12”和“schneider.go”不应该出现在TermsComponent返回的术语列表中。在文本分析过程中,术语“geloscht”被替换为“loesch”,因此也不应该出现在 TermsComponent 返回的术语列表中。

我的文本分析方法:首先,我使用 PatternReplaceCharFilter 删除传递给文本字段的部分文本。原因是所有文档都包含重复的文本部分。这些文本部分没有语义含义,用于表示文本类型、添加文本的用户以及添加文本块的日期。

TermsComponent 返回的两个附加术语来自原始文本,并被 PatternReplaceCharFilter 删除。

我检查了,MLT 识别的“interestingTerms”与TermsComponent 返回的相同。我还检查了存储 TermVector 的字段和没有 TermVector 的文本字段之间是否存在差异。对于这两种变体,TermsComponent 返回相同的术语。

由于 MLT 使用的术语与文本分析期间识别的术语不同,因此 MLT 返回的文档过多。

有人知道为什么 MLT 使用术语,而 TermsComponent 返回不属于文本分析结果的术语吗?

也许有人知道解决方案吗?

为了完整起见:我使用的是 2011 年 12 月 7 日开始的 Solr 4 Trunk 二进制版本。

0 投票
1 回答
4475 浏览

solr - Solr More Like This (MLT) 不返回结果

我目前正在寻求基于我的索引中的多个字段来实现更多类似的功能。

我目前的配置如下: Haystack | PySolr | 索尔

对于这篇文章,我使用 PySolr 并将参数传递给 more_like_this 函数。响应找到文档,但没有找到任何相关结果。这是为什么?

这是我点击的网址:

这是我对 Solr 的回应:

solrconfig.xml

架构.xml

任何帮助,将不胜感激!

0 投票
0 回答
165 浏览

solr - 为整个索引获取更多类似结果

我有一堆由 solr 索引的项目(大约 100k),我能够成功地查询 solr 以检索更多类似项目的特定项目。我希望能够为索引中的每个项目有效地导出更多类似的项目。目前我只是遍历每个项目并保存结果。这对我来说似乎效率低下,有没有更好的方法来做到这一点?