问题标签 [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.
search - 警笛“更像这样”查询
我正在使用 Solr 的最新 Siren 发行版来索引我的数据并进行搜索。( http://siren.solutions/siren/downloads/ )
有没有一种简单的方法可以在我的索引数据中搜索类似的文档。类似于 Solr 的 MoreLikeThis 查询(https://cwiki.apache.org/confluence/display/solr/MoreLikeThis)。
我的目标是找到与我感兴趣的具有相似 json 结构的文档。
最好的,伯恩德
c# - Elasticsearch NEST DisMax MoreLikeThis 查询形成空的 json 字符串
我想使用 NEST 库在 Elasticsearch 上使用 moreLikeThis 查询,并为每个匹配项提供不同的提升值。
这是我坚持的查询。我可以用原始 JSON 格式轻松编写它,但这不是我的目标。我在 C# 和 NEST 中都很新,不知道如何在那里传递 documentId。
那是我的课,如果它有帮助的话:
这就是我作为 JSON 使用的查询,它工作得很好。
NEST中的文档没有解释或给出如何完成的基本概念。
谢谢你。
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/但这并没有解释它,或者我错过了重点。
solr - 结合两个 Solr MLT 查询
只是想知道是否可以将 MLT 查询(基于过滤条件)组合成一个查询。我正在尝试结合这两个查询的结果:
Source 字段对于两个查询具有不同的值。我想结合两个查询的结果,是否可以在一个查询中完成?
任何指针将不胜感激。
elasticsearch - ElasticSearch,如何在 MLT 中使用“boost_terms”?
列出boost_terms
但不显示我们应该如何使用它..
我也没有google它。。
我试过了
java - Solr MLT Interestingterms 返回与 Lucene 不同的术语
我将为 Solr 实现一个搜索组件,以使用更像这个有趣的术语来返回文档主要关键字。通过 lucene docID 使用 mlt.retrieveInterestingTerms 的已实现组件的主要部分不适用于所有文档。我的意思是对于一些文档,solr funnyterms 返回一些有用的术语作为顶级 tf-idf 术语;但是,实现的方法返回 null!但是对于其他文档,两个结果(solr MLT 有趣的术语和 mlt.retrieveInterestingTerms(docId))是相同的!你能帮我解决这个问题吗?
笔记:
我确实定义termVectors=true
了我将用于生成有趣术语的所有必填字段(相应方法中的字段数组)
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 匹配,我怎么能总是得到下一个最近的文档
elasticsearch - 具有受限结果集的 ElasticSearch more_like_this
我想运行一个more_like_this
查询,但只获得一组特定文档中的顶级结果,所以我会提供这些文档的 ID。有没有办法做到这一点?文档表明没有。
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)
. 之后,据我所知,代码变得复杂......
所以,这个论点似乎是“重要的”,但正如我所说,它没有任何区别。
有谁知道它的目的?
elasticsearch - Elasticsearch:如何存储术语向量
我正在做一个项目,我大量使用 Elasticsearch 并利用moreLikeThis查询来实现一些功能。MLT 查询的官方文档说明如下:
为了加快分析速度,它可以帮助在索引时存储术语向量,但会以磁盘使用为代价。
在**如何工作*部分。现在的想法是调整映射以存储预先计算的术语向量。问题是,从文档中似乎不清楚应该如何做到这一点。一方面,在MLT文档中,它们提供了如下所示的示例映射:
另一方面,在术语向量文档中,它们在示例 1部分中提供了一个如下所示的映射
这应该create an index that stores term vectors, payloads etc.
现在的问题是:应该使用哪个映射?这是文档中的缺陷还是我遗漏了什么?