问题列表 - 第14452页

Zend_Search_Lucene查询解析问题

这是设置,我有一个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)

php lucene search zend-framework zend-search-lucene

2
推荐指数
1
解决办法
1044
查看次数

在WinForms中绘制垂直堆叠的文本

最好使用一个Graphics对象,如何绘制一个字符串,使字符仍然正常,但是垂直堆叠?

.net c# text system.drawing winforms

5
推荐指数
1
解决办法
1165
查看次数

如何根据模式验证XML(php或perl或可能的C++)

我需要接受XML并根据模式文件对其进行验证.之后我必须根据命令调用一个函数(例如updateContactList).做这个的最好方式是什么?我担心验证XML(并报告错误),我不知道将数据放入函数运行的最佳方法是什么

-edit-注意:通过验证模式,我需要验证(正则表达式)模式.如果我可以使用XML和模式调用函数并使其返回false + error msg或true,那将是很好的

php xml validation xsd

1
推荐指数
1
解决办法
1558
查看次数

搜索引擎抓取工具和SQL

MySQL查询是否由搜索引擎机器人执行/索引?

mysql seo

-1
推荐指数
1
解决办法
137
查看次数

ASP.NET MVC中基于文档的安全性

我已经了解ASP.NET MVC中的用户和基于角色的安全性.但现在我需要一些更精细的东西.

假设我有一份文档列表,其中一些是用户授权的,有些则不是.每个文档在数据库的文档表中都有相应的记录.如果用户具有安全访问权限,则可以下载文档以供查看.如果您有角色,也可以添加文档.每个文档都有一个URL,每个文档列表都有一个URL.

我希望安全修整列表,以便用户只能看到他授权的文档.但是我还需要对这些列表和文档的URL请求进行身份验证,因为没有什么可以阻止用户为他们不再有权访问的文档添加书签,或者只是在浏览器中键入URL.

内置的基于角色的安全模型是否适用于此,或者我是否需要创建单独的基于表的安全性?我可以将安全性放在我的存储库中,以便返回的记录已被修剪,或者它应该是控制器的一部分吗?我是否需要安全属性来验证控制器请求,或者我应该将它作为前几行代码放在控制器方法中?

c# security asp.net-mvc access-control document-management

5
推荐指数
1
解决办法
1570
查看次数

在OS X上以编程方式获取进程的当前工作目录

有没有办法在OS X上以编程方式使用它的PID来获取进程的当前工作目录?

Cocoa,Carbon或AppleScript都可以接受.

将"pwd"发送到当前终端窗口/选项卡(不想影响工作区)是不可接受的.

linux命令"pwdx"也是不可接受的(以防你阅读"Cocoa"部分)

cocoa applescript macos-carbon process objective-c

5
推荐指数
2
解决办法
2579
查看次数

C++中的双精度数字

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

c++ floating-point range

3
推荐指数
1
解决办法
6123
查看次数

如何避免更改堆栈大小并避免在C#中获得堆栈溢出

我一直想在网上和这个网站上找几个小时回答这个问题的答案,我不在那里.

我知道.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)

c# stack-overflow

7
推荐指数
3
解决办法
706
查看次数

DISTINCT的问题!

这是我的查询:

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列.问题出在哪儿?

mysql sql

2
推荐指数
2
解决办法
384
查看次数

在不使用do-end的情况下编写此块的另一种方法是什么?

如果没有do-end,你会如何在同一行或连续行上写这个?

map.resources :magazines do |magazine| magazine.resources :ads end  
Run Code Online (Sandbox Code Playgroud)

ruby

1
推荐指数
2
解决办法
121
查看次数