问题标签 [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 回答
123 浏览

search - 警笛“更像这样”查询

我正在使用 Solr 的最新 Siren 发行版来索引我的数据并进行搜索。( http://siren.solutions/siren/downloads/ )

有没有一种简单的方法可以在我的索引数据中搜索类似的文档。类似于 Solr 的 MoreLikeThis 查询(https://cwiki.apache.org/confluence/display/solr/MoreLikeThis)。

我的目标是找到与我感兴趣的具有相似 json 结构的文档。

最好的,伯恩德

0 投票
1 回答
772 浏览

c# - Elasticsearch NEST DisMax MoreLikeThis 查询形成空的 json 字符串

我想使用 NEST 库在 Elasticsearch 上使用 moreLikeThis 查询,并为每个匹配项提供不同的提升值。

这是我坚持的查询。我可以用原始 JSON 格式轻松编写它,但这不是我的目标。我在 C# 和 NEST 中都很新,不知道如何在那里传递 documentId。

那是我的课,如果它有帮助的话:

这就是我作为 JSON 使用的查询,它工作得很好。

NEST中的文档没有解释或给出如何完成的基本概念。

谢谢你。

0 投票
1 回答
90 浏览

indexing - More_like_this elasticsearch如何工作(进入整个索引)

所以首先我们得到一个包含所有标记的 termVectors 列表,然后我们创建一个map<token, frequency in the document>. 然后方法 createQueue 将通过删除、stopWords 和出现不够的单词来确定分数,计算 idf,然后是给定标记的 idf * doc_frequency等于它的token,那么我们保留25个最好的,但是之后它是如何工作的?它与整个指数相比如何?我阅读了http://cephas.net/blog/2008/03/30/how-morelikethis-works-in-lucene/但这并没有解释它,或者我错过了重点。

0 投票
0 回答
116 浏览

solr - 结合两个 Solr MLT 查询

只是想知道是否可以将 MLT 查询(基于过滤条件)组合成一个查询。我正在尝试结合这两个查询的结果:

Source 字段对于两个查询具有不同的值。我想结合两个查询的结果,是否可以在一个查询中完成?

任何指针将不胜感激。

0 投票
1 回答
1255 浏览

elasticsearch - ElasticSearch,如何在 MLT 中使用“boost_terms”?

https://www.elastic.co/guide/en/elasticsearch/reference/1.6/query-dsl-mlt-query.html#_query_formation_parameters

列出boost_terms但不显示我们应该如何使用它..

我也没有google它。。

我试过了

0 投票
0 回答
372 浏览

java - Solr MLT Interestingterms 返回与 Lucene 不同的术语

我将为 Solr 实现一个搜索组件,以使用更像这个有趣的术语来返回文档主要关键字。通过 lucene docID 使用 mlt.retrieveInterestingTerms 的已实现组件的主要部分不适用于所有文档。我的意思是对于一些文档,solr funnyterms 返回一些有用的术语作为顶级 tf-idf 术语;但是,实现的方法返回 null!但是对于其他文档,两个结果(solr MLT 有趣的术语和 mlt.retrieveInterestingTerms(docId))是相同的!你能帮我解决这个问题吗?

笔记:

我确实定义termVectors=true了我将用于生成有趣术语的所有必填字段(相应方法中的字段数组)

0 投票
1 回答
445 浏览

solr - Solr morelikethis 不返回任何文档

我尝试使用产品描述中的文本作为推荐的输入来构建产品推荐器。

但由于某些原因,我没有得到任何结果。我将产品描述设置为 Schema.XML 中的文本字段。我还将它标记为矢量场。

我的查询看起来像这样select?q=id:189&mlt=true&mlt.fl=productdescription&mlt.mintf=1&mlt.mindf=0

根据我的理解,这个查询应该以某种方式总是给我带来一些类似的项目,即使分数会非常低,因为 df 设置为 0。

但我得到的唯一结果有时是具有相同描述但 ID 不同的产品的副本(数据集并不完美)。

所以我的问题是:即使整个文本中没有 1:1 匹配,我怎么能总是得到下一个最近的文档

0 投票
1 回答
66 浏览

elasticsearch - 具有受限结果集的 ElasticSearch more_like_this

我想运行一个more_like_this查询,但只获得一组特定文档中的顶级结果,所以我会提供这些文档的 ID。有没有办法做到这一点?文档表明没有。

0 投票
1 回答
306 浏览

java - Lucene MoreLikeThis.like(fieldName, reader) 中“fieldName”的目的是什么?

我试图将这个 MoreLikeThis 示例“升级”到 Lucene 5.2.1。我能够让它运行,但我不明白fieldName方法参数的目的like(String fieldName, Reader... readers)

文档的创建和索引为

查询初始化如下

正如我所说,它按预期工作。类似的文档被适当地恢复和排名。所以,由于de API没有解释参数,我做了一些实验:代替“title”,我将它改为“content”,“xxx”和NULL。

他们都返回了相同的文件,分数相同......

我试图在 Lucene 源码里面查看,参数是用来调用addTermFrequencies的,然后是analyzer.tokenStream(fieldName, r). 之后,据我所知,代码变得复杂......

所以,这个论点似乎是“重要的”,但正如我所说,它没有任何区别。

有谁知道它的目的?

0 投票
1 回答
6422 浏览

elasticsearch - Elasticsearch:如何存储术语向量

我正在做一个项目,我大量使用 Elasticsearch 并利用moreLikeThis查询来实现一些功能。MLT 查询的官方文档说明如下:

为了加快分析速度,它可以帮助在索引时存储术语向量,但会以磁盘使用为代价。

在**如何工作*部分。现在的想法是调整映射以存储预先计算的术语向量。问题是,从文档中似乎不清楚应该如何做到这一点。一方面,在MLT文档中,它们提供了如下所示的示例映射:

另一方面,在术语向量文档中,它们在示例 1部分中提供了一个如下所示的映射

这应该create an index that stores term vectors, payloads etc.

现在的问题是:应该使用哪个映射?这是文档中的缺陷还是我遗漏了什么?