问题标签 [edismax]

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

solr - Solr 日期提升并按相关结果排序无法正常工作

我正在实现 Solr dismax 搜索,并使用此功能recip(ms(NOW,PubDate),3.16e-11,1000,1000)进行日期提升。一切正常,但只有一个问题。

如果搜索关键字在标题中重复出现,它们会比最近的结果获得更高的分数。

例如 1) 标题 = solr lucene

日期 = 1 天前

2) Title = solr lucene 是最好的,喜欢 solr lucene

日期 = 15 天前

如果用户搜索“solr lucene”,那么 #2 会排在第一位,因为关键字在标题中重复出现。

我有太多 1、2 或 3 天前的记录,它们甚至有完全相同的标题“SOLR LUCENE”,但这些记录并没有出现在第一页,只是因为旧记录的标题中有重复的关键字。

我不想完全按日期对结果进行排序。目前我正在像这样排序它。排序=分数降序,日期升序

0 投票
1 回答
1212 浏览

solr - Solr:eDismax 并不总是使用 defaultOperator “AND”

我在 schema.xml 中将 defaultOperator 设置为“AND”: <solrQueryParser defaultOperator="AND"/>

我在查询中使用 defType=eDismax。它工作得很好,但是当我想使用“AND”或“OR”运算符时,它不会使用“AND”作为我留下没有运算符的空白的默认运算符。

例子:

field1:a field2:b与field1:a AND field2: b做同样的事情:好的

field1:a OR field2:b:好的,我有我想要的所有结果

field1:a (field2:b OR field2:c)与field1:a OR (field2:b OR field2:c)做同样的事情:那不行

即使在这种情况下,我怎么能强迫他使用“AND”作为默认运算符?

0 投票
2 回答
2429 浏览

solr - Dismax 请求处理程序

我正在使用 solr 按名称搜索一组数据(例如“Dan”或“Joe Smith”)。我想以另一个索引字段 double_score(例如 10.0 或 72.3)指定的顺序返回查询指定的结果(编辑:末尾带有通配符)。我目前有以下根本无法工作:

如果我删除评论,那么搜索确实有效,我所做的任何查询都会被 q.alt 替换,然后由 double_score 的值提升。如果这没有取代 q.alt,这将是预期的效果。

另请注意,虽然我还没有深入研究更有趣的可能性,例如标记名称,但我确实计划这样做。因此,任何可能的建议/解决方案都不应该排除这一点。

0 投票
2 回答
34181 浏览

solr - 如何提升 solr 中的字段

我已经事先确定了提升。我在 solr 索引中有一个名为boost1. 此提升字段的值介于 1 到 10 之间,类似于 google PR rank。这是应该应用于 solr 中运行的每个查询的提升。这是我索引中的字段

  • ID
  • 标题
  • 文本
  • 升压1

boost 字段应该适用于每个查询。我正在尝试实现类似于 Google PR rank 的功能。有没有办法使用 solr 做到这一点?

0 投票
1 回答
9619 浏览

solr - Solr 3.3.0 - 在搜索中增加字段权重 - 提高字段优先级

我正在使用 solr 3.3.0 这些文档进行索引:

架构.xml

如您所见,如果我搜索“abc”,solr 会返回所有文档(我正在使用 solr.EdgeNGramFilterFactory 进行索引);我的成就是使用以下逻辑对结果文档进行排序:

  1. title_ex
  2. 标题
  3. 关键字_ex
  4. 关键词
  5. owner_ex
  6. 艺术家前
  7. 所有者
  8. 艺术家

我尝试了 "^" lucene sintax 和 dismax,但响应列表不是我想要的。

`http://localhost:8080/solr33a/core0/select?q=abc&defType=edismax&qf=title_ex^10%20title^8.0%20keywords_ex^6%20keywords^5.5%20owner_ex^1.2%20artist_ex^0.8%20owner^0.5%20artist ^0.2&fl=*,分数

结果:

0 投票
1 回答
1544 浏览

solr - Solr eDisMax 查询

我有“拼写”字段,文本为“Quanti disperati si rovescerebbero con i barconi sulle nostre..”

我可以像这样通过 edismax 进行搜索:

或者

但是我怎么能搜索不到一个完整的句子,比如这个:

0 投票
3 回答
3841 浏览

c# - Solr:如何搜索多个字段

我正在使用 solrnet。我有一个标题和描述字段。我需要同时搜索两个字段。我该怎么做呢?

0 投票
1 回答
717 浏览

php - 使用 PHP PECL 查询 Apache Solr 中的字段

我正在尝试使用 PHP PECL 查询 Solr 中的特定字段。

目前我正在使用 setQuery 函数,但这不允许我将查询设置为特定字段。

谢谢凯文

0 投票
1 回答
565 浏览

search - SOLR edismax 搜索

我在 SOLR 中有 2 个文档:

第一的

第二

http://localhost:8080/solr/select?q={!type=edismax qf=spell v='disperati si rovescerebbe*'} - 对我来说工作正常,它返回 2 个文档,但如何添加到此查询搜索也用身份证?

我需要这样的东西: http://localhost:8080/solr/select?q={!type=edismax qf=spell v='disperati si rovescerebbe*'} & {!type=edismax qf=id v='125 '} - 不正确。

0 投票
1 回答
3059 浏览

java - solr dismax 词组搜索

我正在构建一个应用程序,它使用 solr 将较长的查询(通常是完整的句子)与几乎总是较短的索引文档(搜索词)进行匹配。所以,我的查询看起来像“我现在应该在利率低的时候买房子吗?我们在 2 年前提交了 BR。现在租房,有一些 sch 贷款债务”,我的索引文件就像“买房子”,“房子贷款利率”。

我认为正确的方法是使用 shingles、dismax 解析器和高度提升的“pf”字段。所以,我有一个“正常”的文本字段,kw_stopped(solr 3.4 中的 text_en)和一个非常激进的停用词列表,以及一个 kw_phrases 字段,它意味着短语 shingles。它的定义如下所示:

我的架构字段如下所示:

我的搜索处理程序配置是这样的:

当我打开 debugQuery 时,我注意到“kw_phrases”永远不会匹配,除非查询和文档完全相同。解析后的查询还显示,查询中的每个标记都显示为“kw_stopped”的单个 DisjunctionMaxQuery 子句,但所有带状疱疹都放在 kw_phrases 字段的一个巨大子句中。

我的理解差距在哪里?我怎样才能使这项工作?

谢谢!维杰