我希望我的搜索结果按照他们正在进行的分数排序,但分数计算不正确.这就是说,不一定是不正确的,但与预期不同,我不知道为什么.我的目标是删除任何改变分数的内容.
如果我执行匹配两个对象的搜索(其中ObjectA的分数高于ObjectB),则首先返回ObjectB.
让我们说,对于这个例子,我的查询是一个单词:"apples".
ObjectA的标题:"苹果是苹果"(2/3条款)
ObjectA的描述:"苹果 - 苹果中有苹果,现在苹果遍布苹果的所有苹果!" (6/18条款)
ObjectB的标题:"苹果很棒"(1/3条款)
ObjectB的描述:"苹果室里有苹果,现在苹果在苹果上都变坏了!" (4/18条款)
标题字段没有提升(或者更确切地说,提升为1),描述字段的提升为0.8.我没有通过solrconfig.xml或通过我正在通过的查询指定文档提升.如果有另一种指定文档提升的方法,那么我有可能错过一个.
在分析explain打印输出之后,看起来ObjectA 正在计算比ObjectB更高的分数,就像我想要的那样,除了一个区别:ObjectB的标题fieldNorm总是高于ObjectA.
以下是explain打印输出.您知道:标题字段是mditem5_tns,描述字段是mditem7_tns:
ObjectB:
1.3327172 = (MATCH) sum of:
1.0352166 = (MATCH) max plus 0.1 times others of:
0.9766194 = (MATCH) weight(mditem5_tns:appl in 0), product of:
0.53929156 = queryWeight(mditem5_tns:appl), product of:
1.8109303 = idf(docFreq=3, maxDocs=9)
0.2977981 = queryNorm
1.8109303 = (MATCH) fieldWeight(mditem5_tns:appl in 0), product of:
1.0 = tf(termFreq(mditem5_tns:appl)=1)
1.8109303 = idf(docFreq=3, maxDocs=9)
1.0 = …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个匹配所有内容的正则表达式但是没有被转义的撇号.考虑以下:
<?php $s = 'Hi everyone, we\'re ready now.'; ?>
Run Code Online (Sandbox Code Playgroud)
我的目标是编写一个基本匹配字符串部分的正则表达式.我在考虑像
/.*'([^']).*/
Run Code Online (Sandbox Code Playgroud)
为了匹配一个简单的字符串,但我一直试图弄清楚如何在撇号上得到负面的lookbehind,以确保它没有反斜杠......
有任何想法吗?
- JMT
我正在尝试按系统区域设置的默认货币设置格式化浮点(扩展).我发现这个解决方案的关键支持者是以下行:
GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, format_settings);
在我看的每个地方,他们提供的解决方案完全如图所示(之前没有类说明符,如System.LOCALE_SYSTEM_DEFAULT或其他任何东西).但是,我的编译器坚持认为LOCALE_SYSTEM_DEFAULT是未声明的标识符.这似乎对我来说,唯一的要求是有"使用SysUtils单元",这是我做的.
我正在使用Delphi 2010.有谁知道为什么我的编译器找不到这个看似隐含的常量?
非常感谢,
贾里德
Facebook OpenGraph 调试工具正在抓取错误的页面。
如果我给它一个完整的 URL(指向我网站上的单个页面),我希望它抓取,而不是抓取该页面并找到它的元标记,它会抓取我网站的主页并返回那些元标记(这显然是在这种情况下是错误的)。
奇怪的是,它甚至会找到并抓取我网站的主页,即使它不在我的域的根目录中。例如:
我想让它刮http://mydomain.com/myhomepage/specific_page.html
而不是,它刮http://mydomain.com/myhomepage/
这对我来说意味着错误必须是某个地方的设置,无论是在我的网站上还是在我的 Facebook 应用程序设置上。应用程序设置会这样做吗?如果请求的 URL 是它的后代,则重定向到设置的任何 URL?
我请求的 URL 没有执行 302 或任何操作 - 我甚至可以单击 FB 调试工具中的链接,它会将我带到相应的页面。
一些注意事项:
specific_page.html不是一个实际的文件,它是在 Apache 的 htaccess 中使用 mod_rewrite 通过 index.php 路由的。我试着具体说明,http://mydomain.com/myhomepage/index.php/specific_page.html但它也不起作用。在Delphi中编码,将OnKeyPress事件处理程序附加到TStringGrid:
OnKeyPress事件在用户键入的网格单元格之前触发,实际上已使用已按下的键更新其值.这显然是一个问题,当我想知道,单元格的内容是什么,在这个时刻,如,当用户修改它.
如果您没有考虑每个细节,那么"被黑客入侵"的解决方案很简单:只需从单元格中获取值,并且由于OnKeyPress事件带有Key参数,所以将该值附加到结尾 - 现在您拥有当前值细胞!
假.如果用户选择了单元格中的所有文本(即:"foo")并且他们现在正在键入"b",该怎么办?由于他们选择了文本,因此将删除并替换为字母"b".但是,单元格的值仍将在OnKeyPress中显示为"foo",Key的值将为"b",因此上述逻辑将导致应用程序得出结论,单元格现在包含"foob",我们知道不是真的.
所以. 有谁知道如何解决这个问题?是否有一种方法可以在网格内容更新后对OnKeyPress做出反应,或者可能是在处理程序开始时强制更新的方法?我在这里拼命避免使用OnKeyUp事件,所以除此之外的任何建议都将非常感激.
delphi ×2
delphi-2010 ×1
escaping ×1
events ×1
facebook ×1
format ×1
grid ×1
locale ×1
lucene ×1
magento ×1
onkeypress ×1
regex ×1
relevance ×1
solr ×1
solr-boost ×1
tstringgrid ×1
undefined ×1