问题标签 [dismax]
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:使用 qf 参数的字符串字段不会产生部分匹配结果
当我将 'qf' 添加到 dismax 查询时,除非有完全匹配,否则我不会得到任何结果。
我正在使用 NGramFilterFactory 如下:
如果我已将 yengas.com 编入索引,我可以搜索 yengas.com 但不能搜索 yengas。但是,如果我放弃 'qf',我可以搜索 yengas。
示例搜索:
部分匹配在 dismax 和正常查询上失败。
我会错过什么?
search - 使用 solr dismax 按部分单词搜索
如何使用 dismax 按部分单词进行搜索?例如,当我的查询是“wor”时,我想得到带有“ word d”“ wor ld”“ad word ds”等字段值的结果。可能吗?
solr - 是否有一个 Solr 查询解析器可以解析并创建过滤查询?
我正在寻找一个 Solr 查询解析器,它可以解析并正确应用过滤器查询,将字段中未指定的任何内容作为一般搜索词。
所以:
这将执行以下操作:
- 为“tags”字段中带有“sql”的记录创建一个 FilterQuery 查询
- 为“title”字段中带有“mysql”的记录创建一个FilterQuery
- 为默认字段中具有“记录集”的记录创建普通查询
这样的查询解析器是否存在?
编辑:我发现如果我搜索“*”作为查询,然后像这样执行“qf”参数,它会起作用:
这样做有什么缺点?我认为得分会全错?
solr - 为什么 solr dismax 查询返回空结果集?
我正在尝试使用Dismax Query Parser从 solr 4.5 的索引数据中获取自由文本搜索结果,但没有返回结果,也没有像这样的简单查询错误:
这些文件存在于索引中:
我的 schema.xml 是:
并在 solrconfig.xml
那么有什么想法有什么问题吗?为什么没有结果?
solr - 使用 eDismax 进行邻近搜索
我使用 solr 创建了一个搜索引擎。我想创建一个查询,如果用户搜索单词“ college ”,则包含“着名”一词的文档的分数非常接近(在 2 个单词内,即“着名的大学”或“大学是着名的”)应该更高。如果名声这个词不是很接近,那么它应该只根据“大学”这个词计算分数。
我想要的是这样的“著名大学”~2^10 OR “college Famous”~1^10 OR “college”
如何在 eDismax 中实现这一点?
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?
solr - SOLR中qf参数中的manu、sku、cat分别是什么?
我正在查看 dismax 解析器的 solrconfig.xml,发现了一堆值,例如 sku、manu 和 cat。这些是什么?
search - 如何使用 dismax 或 edismax 来提升 SOLR 中的查询?
我是 SOLR 的新手,所以请耐心等待。所以世界上有很多不同国家的酒店,你可以从任何位置搜索它们。例如,东京可能有一家酒店,我可能正在伦敦甚至东京本身或纽约寻找这家酒店。
我试图创建的查询是搜索酒店并根据我所在的市场/国家返回酒店,但也返回来自不同市场/国家的结果。例如,如果我在英国,市场将是 GB,它会返回基于 GB 的结果,应该将其放在结果中最高,同时包括 JP(日本)等其他市场,但它们的结果会被放置在较低的位置。
到目前为止,我的查询是这样的(不起作用):
我可以轻松地做一个market:GB
,但这只会返回 GB 市场。
我应该如何构造这个查询以获得我想要的结果?
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 中找到这些信息的任何提示!
search - 使用 apache solr 按人名搜索
我需要创建一个人名搜索。我已经在这里看到了很棒的内容,但我需要一些不同的东西。
这是我的要求。
我尝试使用拼音搜索,但我需要索引的人名不是英文名字。我相信 Apache Solr / Lucene 实现的语音算法对葡萄牙语单词(我的文化)无效。
之后,我决定使用 ngrams 进行搜索。它似乎有效,但我需要以某种方式比较用户键入的内容与 Solr 索引的接近程度。我不能使用分数,因为它使用某个单词在所有文档中存在的次数。所以我需要以某种方式给出一个数字(例如百分比)作为比较的结果,换句话说,用户输入的内容与我在 solr 上的真实姓名有多接近。
Ps:我将在我的应用程序中使用此结果来使用用户键入的内容或继续使用我的 Solr 上存在的内容。
样本:
用户可以搜索 Jhames Bond 并使用 Ngrams 1 和 2 将匹配。
PS:我使用英文名称只是为了澄清场景。
有没有办法给出答案:用户输入的内容与我在不使用分数的情况下索引的内容有多少相似之处?比方说: