这是设置,我有一个Lucene索引,它适用于我索引的2,000个文档.我一直在使用Luke(Lucene Index Toolbox,v.0.9.2)来调试查询,并使用ZF 1.9.
我的Lucene索引的布局如下:
I = Indexed
T = Tokenized
S = Stored
Fields:
author - ITS
category - ITS
publication - ITS
publicationdate - IS
summary - ITS
title - ITS
Run Code Online (Sandbox Code Playgroud)
基本上我有一个可以通过上述字段搜索的表单,让你混合和匹配任何上述信息,并将其解析为zend luceue查询.这不是问题,问题是当我开始组合术语时,在查找中触发的"优化"方法会导致查询消失.
这是我正在运行的示例搜索:
表格版本:
Title: test title
Publication: publication name
Run Code Online (Sandbox Code Playgroud)
Lucene查询解析:
+(title:test title) +(publication:publication name)
Run Code Online (Sandbox Code Playgroud)
现在,如果我接受此查询字符串,并将其打入LUKE,然后点击"搜索",则返回结果就好了.当我使用查询查找方法时,它会爆炸.所以我做了一些关于它如何运作并发现问题的研究(我相信)
首先,下面是执行搜索的实际代码行:
$searchQuery = "+(title:test title) +(publication:publication name)";
$hits = new ArrayObject($this->index->find($searchQuery));
Run Code Online (Sandbox Code Playgroud)
它是实际代码的简化版本,但这就是它生成的内容.
现在继续调试后我注意到的是,"优化"方法只会破坏查询本身.我创建了以下代码:
$rewrite = $searchQuery->rewrite($this->index);
$optimize = $searchQuery->rewrite($this->index)->optimize($this->index);
echo "======<br/>";
echo "Original: ".$searchQuery."<br/>";
echo "Rewrite: ".$rewrite."<br/>";
echo "Optimized …Run Code Online (Sandbox Code Playgroud) 最好使用一个Graphics对象,如何绘制一个字符串,使字符仍然正常,但是垂直堆叠?
我需要接受XML并根据模式文件对其进行验证.之后我必须根据命令调用一个函数(例如updateContactList).做这个的最好方式是什么?我担心验证XML(并报告错误),我不知道将数据放入函数运行的最佳方法是什么
-edit-注意:通过验证模式,我需要验证(正则表达式)模式.如果我可以使用XML和模式调用函数并使其返回false + error msg或true,那将是很好的
我已经了解ASP.NET MVC中的用户和基于角色的安全性.但现在我需要一些更精细的东西.
假设我有一份文档列表,其中一些是用户授权的,有些则不是.每个文档在数据库的文档表中都有相应的记录.如果用户具有安全访问权限,则可以下载文档以供查看.如果您有角色,也可以添加文档.每个文档都有一个URL,每个文档列表都有一个URL.
我希望安全修整列表,以便用户只能看到他授权的文档.但是我还需要对这些列表和文档的URL请求进行身份验证,因为没有什么可以阻止用户为他们不再有权访问的文档添加书签,或者只是在浏览器中键入URL.
内置的基于角色的安全模型是否适用于此,或者我是否需要创建单独的基于表的安全性?我可以将安全性放在我的存储库中,以便返回的记录已被修剪,或者它应该是控制器的一部分吗?我是否需要安全属性来验证控制器请求,或者我应该将它作为前几行代码放在控制器方法中?
有没有办法在OS X上以编程方式使用它的PID来获取进程的当前工作目录?
Cocoa,Carbon或AppleScript都可以接受.
将"pwd"发送到当前终端窗口/选项卡(不想影响工作区)是不可接受的.
linux命令"pwdx"也是不可接受的(以防你阅读"Cocoa"部分)
IEE754(64位)浮点应该正确表示15位有效数字,尽管内部表示有17个数字.有没有办法强制第16和第17位数为零?
参考: http ://msdn.microsoft.com/en-us/library/system.double(VS.80).aspx :. .
请记住,浮点数只能近似一个十进制数,并且浮点数的精度决定了该数字近似于十进制数的准确程度.默认情况下,Double值包含15个十进制数字的精度,但内部最多保留17位数.浮点数的精度有几个结果:..
示例nos:d1 = 97842111437.390091
d2 = 97842111437.390076
d1和d2在第16和第17个小数位上不同,这些位置不应该是重要的.寻找迫使他们归零的方法.即d1 = 97842111437.390000 d2 = 97842111437.390000
我一直想在网上和这个网站上找几个小时回答这个问题的答案,我不在那里.
我知道.NET会为应用程序分配1MB,并且最好通过重新编码而不是强制堆栈大小来避免堆栈溢出.
我正在开发一个"最短路径"的应用程序,可以运行大约3000个节点,此时它会溢出.这是导致问题的方法:
public void findShortestPath(int current, int end, int currentCost)
{
if (!weight.ContainsKey(current))
{
weight.Add(current, currentCost);
}
Node currentNode = graph[current];
var sortedEdges = (from entry in currentNode.edges orderby entry.Value ascending select entry);
foreach (KeyValuePair<int, int> nextNode in sortedEdges)
{
if (!visited.ContainsKey(nextNode.Key) || !visited[nextNode.Key])
{
int nextNodeCost = currentCost + nextNode.Value;
if (!weight.ContainsKey(nextNode.Key))
{
weight.Add(nextNode.Key, nextNodeCost);
}
else if (weight[nextNode.Key] > nextNodeCost)
{
weight[nextNode.Key] = nextNodeCost;
}
}
}
visited.Add(current, true);
foreach (KeyValuePair<int, int> nextNode in sortedEdges)
{
if(!visited.ContainsKey(nextNode.Key) …Run Code Online (Sandbox Code Playgroud) 这是我的查询:
SELECT
DISTINCT `c`.`user_id`,
`c`.`created_at`,
`c`.`body`,
(SELECT COUNT(*) FROM profiles_comments c2 WHERE c2.user_id = c.user_id AND c2.profile_id = 1) AS `comments_count`,
`u`.`username`,
`u`.`avatar_path`
FROM `profiles_comments` AS `c` INNER JOIN `users` AS `u` ON u.id = c.user_id
WHERE (c.profile_id = 1) ORDER BY `u`.`id` DESC;
Run Code Online (Sandbox Code Playgroud)
有用.但问题在于DISTINCT字.据我了解,它应该每个c.user_id只选择一行.
但我得到的甚至是4-5行,具有相同的c.user_id列.问题出在哪儿?
如果没有do-end,你会如何在同一行或连续行上写这个?
map.resources :magazines do |magazine| magazine.resources :ads end
Run Code Online (Sandbox Code Playgroud) c# ×3
mysql ×2
php ×2
.net ×1
applescript ×1
asp.net-mvc ×1
c++ ×1
cocoa ×1
lucene ×1
macos-carbon ×1
objective-c ×1
process ×1
range ×1
ruby ×1
search ×1
security ×1
seo ×1
sql ×1
text ×1
validation ×1
winforms ×1
xml ×1
xsd ×1