- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找不到更好的标题,如果可能的话,我希望稍后在您最终建议时更改它。
我的问题:
我有一个音乐艺术家的数据库。这些看起来像这样:“dr. dre feat. akon”、“eminem & dr. dre”、“dr. dre feat.ll cool j”、“dr. dre”、“dr. dre feat. eminem & skylar grey” .我们只有两个字段:id 和 name。
在默认模式 solr 核心上,我运行此查询:“q=dr.dre”,结果正常但不完美,如下所示:
最佳答案
有几种不同的方法可以让“dr. dre”结果首先出现。对于冗长的答案,我深表歉意,但正如 Solr 中经常发生的那样,答案取决于您的优先级和需求。
This is probably redundant, but I'd like to start by making sure that you are seeing the scores for each result. Your question didn't make this entirely clear. When you make your query, you need to explicitly tell Solr to sort the results in descending order by their scores, though this can be set up in the
solrconfig.xml
. I imagine that you are already doing this, but just to make sure, you can try a query like this:q="dr. dre"&fl=*,score&sort=score desc
. That will show you the calculated score for each result, and sort the results with the highest scores first.
name
字段可能应该有
type
映射到
fieldType
的值入口。
fieldType
应该有
class="solr.TextField"
,
它不应该有 omitNorms="true"
.除非您在名称字段中明确省略规范,否则 Solr 将在计算文档分数时考虑名称与您的搜索词匹配的程度以及您的搜索词在名称中匹配的次数。 “dr. dre”将获得最高分,因为名称中的单词 100% 与您的搜索匹配。
fieldType
the Solr documentation wiki 上的配置,或在您为您的特定 Solr 版本下载的 Solr 文档中。依赖规范的优势在于,除了相当容易实现之外,它们还具有渐进性。因此,虽然“dr. dre”将是最相关的记录,其姓名 100% 与您的搜索匹配,但“eminem & dr. dre”也将比“整个男士列表和 dr. dre”更相关,因为您的搜索词在名称中所占的比例较大。
schema.xml
中设置一个复制字段。 :
<copyField source="name" dest="exactName"/>
q=name:"dr. dre" OR exactName:"dr. dre"^4
)。搜索词后的“^4”使该匹配的重要性/相关性是查询中其他地方的匹配的 4 倍。如果您使用的是
Dismax或
Extended Dismax查询解析器,您可以访问更新的
qf
字段,它允许您提供用于搜索的字段列表,并将某些字段设置为比其他字段更重要。例如
qf=exactName^4 name&q="dr. dre"
告诉 Solr 检查两个字段中的“dr. dre”,但考虑到精确名称字段中的匹配是名称字段中匹配项的 4 倍。 (如果这对您有用,默认
qf
可以设置在
solrconfig.xml
中,因此不需要在每次查询时都重新声明。)
fieldType
未确定的确切名称字段。如果您觉得只有完全精确的匹配才有效,并且大小写或标点符号的变化使匹配不精确,那么您可以将精确名称字段设置为字符串:
<field name="exactName" type="string" indexed="true" stored="false" multiValued="false"/>
fieldType
。 ,可能使用
Keyword Tokenizer ,这不会将确切名称分解为多个索引标记,而是将其保留为单个标记。例如:
<fieldType name="exactish" class="solr.TextField">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="exactName" type="exactish" indexed="true" stored="false" multiValued="false"/>
关于SOLR 精确匹配提升包含精确匹配的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29103155/
感觉我在这里遗漏了一些明显的东西,所以提前道歉。无论如何,这是我尝试转换的一些数据a: acct_num year_prem prem exc 001 20
我正在尝试将表中的模式与用户话语 匹配。 string userUtterance = "I want identification number for number of customers";
当尝试在 Precise 上链接 gccgo 时,出现此链接错误: matt@matt-1005P:~/src/gopath/src/meme$ gccgo cmd/meme/main.go -o m
假设我有以下数据和命令: clc;clear; t = [0:0.1:1]; t_new = [0:0.01:1]; y = [1,2,1,3,2,2,4,5,6,1,0]; p = interp1(
假设我有以下数据和命令: clc;clear; t = [0:0.1:1]; t_new = [0:0.01:1]; y = [1,2,1,3,2,2,4,5,6,1,0]; p = interp1(
我总是想给精确匹配比只匹配前缀的分数更高的分数(例如,“ball”在与“ball*”匹配时应该比“ballistic”得到更高的分数)。 我当前(详细)的方法是在创建 PrefixQuery 时始终执
有什么解决方法可以让我在 Android 中使用 long 或 double 来寻找音频文件中的位置吗?目前 seekTo 只接受 ints 参数。我想更精确(比如在十分之一秒内) int resID
我的 replacingOccurrences 函数有问题。我有一个这样的字符串: let x = "john, johnny, johnney" 我需要做的只是删除“john” 所以我有这段代码:
我正在使用 BeautifulSoup 进行网页抓取。我有这段代码来提取 a 标签的值,但它似乎不起作用。显示错误: AttributeError: 'int' object has no attri
我要在带有标记顶点和标记有向边的图上寻找一种不精确的图匹配算法。我的任务是检测两个图表的变化以将它们显示给开发人员(想想颠覆差异)。我已经实现了基于禁忌搜索 ( this ) 的优化算法,但我无法让该
我有两个网站: example.com 和 yyy.com 他们都有类似的网络应用程序,但在不同的服务器上。我想让 Apache 将所有路径请求重定向到 example.com 与 完全相同的方式yy
因此,我尝试合并两个公司信息数据库(从现在起表 A 和表 B),其中最常见(且可靠)的单一引用点是网站 URL。表 A 已更新,表 B 待更新。 我已经从表 A 中提取了 URL,并使用 PHP 清理
我正在 http://classicorthodoxbible.com/new.html 上制作效果主要描述中的 Angular 色,包裹在自己的跨度中,从他们通常的休息地点移动到随机位置,然后通过指
我目前正在使用我的 Raspberry Pi 及其内置 UART 输入编写 MIDI 合成器。 在某个时间点,为了启用 MIDI 输入的实时回放,我必须设置一种环形缓冲区以与 OpenAL 一起使用,
在 C 中,当设置了一个 float 时, int main(int argc, char *argv[]) { float temp = 98.6f; printf("%f\n",
实现 MP3 无间隙循环的最佳可能性是什么?目前我正在使用 AVAudioPlayer 并将 .numberOfLoops() 属性设置为 -1 但可以听到,轨道重新启动。情况并非如此,例如使用 Tr
我想创建不一定是“正确”矩阵的“类矩阵”对象。但是,确切地说,“类矩阵”是什么意思? 示例 1 > image(1:9) Error in image.default(1:9) : argument
给定一个像这样的 XML 文档: john &title; 我想解析上面的 XML 文档并生成其所有实体已解析的副本。因此,给定上述 XMl 文档,解析器应输出: john
需要说明的是,这种方法不是我要找的: 事实上,此方法会调整 ImageField 的大小。我想将 Image 对象的大小调整为特定且精确的无比例分辨率。有什么办法吗? --编辑-- 对我来说,Ima
我正在尝试使用 TF2.0 eager 模式执行精确的 GP 回归,基于来自 https://colab.research.google.com/github/tensorflow/probabili
我是一名优秀的程序员,十分优秀!