问题标签 [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.
solr - Solr 提升查询与 edismax 的附加提升
是否可以在查询时为扩展的 dismax 处理程序指定一组文档(给定一组文档 ID)的附加提升?
我打算将 bq 与 ID 的 OR 列表一起使用,但显然 bq 的提升不是附加的。
solr - Solr edismax。如何检索给出查询结果的字段
我正在使用 qf 参数查询多个字段。但我想知道如何检索给出结果的字段。
示例(不是真实示例):
字段值:
结果,这两个文档都将被返回,因为它们的标签/内容中都有平板电脑和个人电脑。是否有可能知道 doc2 在标签中有两个命中,而 doc1 在标签中只有 1 个命中,在内容中有 1 个命中?Debugquery 似乎没有提供这方面的信息。
我知道我可以使用 qf boost 来增加搜索字段的重要性。
solr - 是否有可能有一个 Solr 查询在相同的结果中为我带来“所有匹配”或“一些匹配”?
例如。我将这些行存储在我的 Solr 中。
我将通过“波士顿美国”进行搜索。在这种情况下,我想返回一个结果,因为我的搜索匹配所有单词。那是“AND”行为或类似“mm”参数的 100% 值。
但是如果我搜索“Texas USA”,我想返回三个结果,因为它无法匹配所有单词,但它至少找到了一个单词。现在,我认为这是“OR”行为或类似“mm”参数的值为 0。
简而言之,我想匹配所有单词。如果没有任何结果,它应该尝试匹配至少一个单词。唯一查询中是否可以有两种不同的行为?
ps:我正在使用 eDismax 解析器。
solr - 使用 Solr 搜索 wiki URL
我正在尝试使用 Solr 在我们的 Intranet 上索引和搜索 wiki。我或多或少地使用 edismax 工作,但我无法让主要主题页面首先出现在搜索结果中。例如,假设我在数据库中有一些 URL:
我希望能够搜索“foo bar”并将第一个链接作为顶部结果返回,因为它是 wiki 中该特定主题的主页。我尝试在搜索中提高标题和 URL 字段,但文档的 fieldNorm 值不断影响分数,因此子页面的分数更高。在一种特殊情况下,主题页面显示在第二个结果页面上。
有没有办法让第一个 URL 得分显着高于子类别,以便它显示在前 5 个搜索结果中?
java - Solr dismax highlighting not respecting analyzer
In the schema of Solr 3.6.2 there are two field
declarations, text
and exact
The former using StandardTokenizer
and the latter KeywordTokenizer
.
Solr queries describing the problem:
Highlight output for field exact:
<em>a</em>-<em>b</em>
.
The problem is the summary for field exact
is produced using the analyzer from text
.
Highlight output for field exact:
<em>a-b</em>
.
By simply removing text
from qf
we get the correct analyzer, why?
search - 如何使用 dismax 或 edismax 来提升 SOLR 中的查询?
我是 SOLR 的新手,所以请耐心等待。所以世界上有很多不同国家的酒店,你可以从任何位置搜索它们。例如,东京可能有一家酒店,我可能正在伦敦甚至东京本身或纽约寻找这家酒店。
我试图创建的查询是搜索酒店并根据我所在的市场/国家返回酒店,但也返回来自不同市场/国家的结果。例如,如果我在英国,市场将是 GB,它会返回基于 GB 的结果,应该将其放在结果中最高,同时包括 JP(日本)等其他市场,但它们的结果会被放置在较低的位置。
到目前为止,我的查询是这样的(不起作用):
我可以轻松地做一个market:GB
,但这只会返回 GB 市场。
我应该如何构造这个查询以获得我想要的结果?
solr - 为什么要在 eDisMax 中使用包罗万象的字段?
如果使用 eDisMax 作为查询解析器,我认为在 Solr 模式中使用捕获所有字段没有意义,因为 eDismax 能够以用户友好的方式搜索多个字段,例如:
我错过了什么吗?
solr - 与 dis-max-query 相关的 minimum_should_match
我是 elasticsearch 的新手,因为我最近刚从 Solr 切换。我现在正在尝试将我的 solrconfig 中的 edismax 查询转换为使用 elasticsearch。
基本上我希望同时在两个字段中搜索这些术语,所以我最终得到了这个查询:
这适用于单个术语。如果有多个术语,则不需要找到每个术语。但是,我找不到实现此功能的方法。这就是minimum_should_match参数的用途——由bool query提供。
假设我有三个术语,我希望至少找到其中两个。通过反复试验,我检查了很多变体,包括以下内容:
但是minimum_should_match
在这里不起作用,并且由于and
操作员没有找到结果。它不适用于or
两者,因为只有一次点击就足以返回结果。
有人可以帮我结合dis_max
吗minimum should match
?
我找不到任何有关此的文档,因此非常感谢我自己可以在 elasticsearch 中找到这些信息的任何提示!
lucene - edismax 解析器和默认 mm
我计划在 SOLR 中使用 eDismax 查询解析器来增强在其字段中存在短语的文档。现在在 edismax 解析器查询中有一个 mm 参数,因为用户键入的查询可以是任何长度(即 >=1)我想将 mm 值设置为 1 。关于这个参数,我有以下问题。
- 它是否默认设置为1?
- 在我的 schema.xml 中,defaultOperator 设置为“AND”,我应该将其设置为“OR”以使 edismax 解析器在 mm 为 1 时有效吗?
solr - Solr通过多值字段中的值数量提升结果
有没有办法在查询时通过特定多值字段中的值数量来提升文档?即更多的值,更多的提升。
有没有类似的东西bf="count(pets)^5.0"
- pets 是一个多值字段?
我知道我可以在索引时存储计数并在查询时使用值提升bf="number_of_pets^5.0"
。但是,我正在尝试为此找到一个查询时间解决方案,这样我就可以避免仅仅为了实现这一点而修改架构(并重新索引所有内容)。