小编The*_*ice的帖子

命中对象在Lucene.Net 3.03中弃用,我该如何替换它?

我正在通过lucene工作,并在Hits对象上遇到了这个问题.我有一个使用Lucene.Net.Search但由于某种原因,VS12 Express无法找到Hits对象,因此以下无法编译.

编译器抱怨这一行

Hits hits = searcher.Search(booleanQuery, hits_limit);
Run Code Online (Sandbox Code Playgroud)

以下错误消息

错误1找不到类型或命名空间名称"Hits"(您是否缺少using指令或程序集引用?)

我不明白,根据你需要的在线教程,是Lucnen.Net.Search

任何建议

// validation
if (subqueries.Count == 0) return new List<MATS_Doc>();
// set up lucene searcher
Searcher searcher = new IndexSearcher(_directory, false);
var hits_limit = 1000;
var analyzer = new StandardAnalyzer(Version.LUCENE_30);
BooleanQuery booleanQuery = new BooleanQuery();
foreach (Query fieldQuery in subqueries)
{
    booleanQuery.Add(fieldQuery, Occur.SHOULD);
}
//var parser = new QueryParser(Version.LUCENE_30, searchField, analyzer);
//var query = _parseQuery(searchQuery, parser);
Hits hits = searcher.Search(booleanQuery, hits_limit);
IEnumerable<MATS_Doc> results = _mapLuceneSearchResultsToDataList(hits, searcher);
analyzer.Close();
searcher.Dispose();
return …
Run Code Online (Sandbox Code Playgroud)

c# lucene.net full-text-search

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

在没有提示的情况下使用 FTP 的 mget

我正在尝试使用 FTP 协议从服务器中提取一些文件。我在访问文件和下载它们时没有问题。问题是有很多和命令,

mget *.raw 
Run Code Online (Sandbox Code Playgroud)

我被提示下载文件如下

mget G20140926_Plasma_iTRAQTMTstudy_TMT10_fr12.raw? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for G20140926_Plasma_iTRAQTMTstudy_TMT10_fr12.raw (1658613609 bytes).
226 Transfer complete.
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式避免这种情况吗?

linux ftp-client file-transfer

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

后处理输出文件时Perl REGEX重复捕获组

我正在处理科学格式的一串数字.例如

24  6.924E+06  8.316E-01  1.052E-01  1.622E+01  1.311E+01  0.000E+00  6.059E-06 (snip.. extends for a bit)
Run Code Online (Sandbox Code Playgroud)

现在我想为perl编写一个正则表达式,它允许我捕获列表中的第i个值.所以我目前的设置是下面的

$_ =~ ^\s+\d+\s+(\d+[.]\d+E[+]\d+);
my $temp = $1;
Run Code Online (Sandbox Code Playgroud)

哪个会给我第一个号码.如果我想要的话,我希望能够捕获第7或第50,而不必编写一个非常长的正则表达式.

这样做有简洁的方法吗?

提前致谢.

regex perl capture-group

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

子过程完成后 Excel VBA 全局范围变量超出范围

我很困惑为什么我的模块中的全局变量在子过程结束时超出范围。

我在所有 subproc 之外的模块顶部声明范围,如下所示

Option Explicit

Dim TIMEDATA As Range
Dim FREQDATA As Range

Const StartLoc = "B4"
Const flowLoc = "F4"
Const dtLoc = "J8"
Run Code Online (Sandbox Code Playgroud)

在我的 subproc 中,我定义了一个范围。

Public Sub PortandConvertData()

<SNIP> 
Set TIMEDATA = calcSheet.Range(Cells(2, 2).Address, Cells(2 + dataSize, 2).Address)

End Sub
Run Code Online (Sandbox Code Playgroud)

在监视窗口中子完成后,我看到变量 TIMEDATA 从 Range/Range 变为 Range,并且值从正确变为完全脱离上下文。

我想将数据存储在模块中而不是粘贴在工作表或其他东西中。

任何帮助深表感谢

variables excel vba range

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

如何将 asyncio 任务添加到 pyqt5 事件循环中,以便它运行并避免从未等待的错误?

我是 asyncio 的新手,我想利用它来为我的 pyqt 应用程序处理通过 tcp 连接的通信。

我制作了这个简单的演示来学习如何在 asyncio 上下文中处理 QT 循环。我看过与此相关的其他帖子,但它们比我目前想做的要复杂得多。因此,我在一个单独的窗口中启动服务器客户端,以便它进行监听,并尝试通过小部件上的简单按钮单击事件发送消息。正如它所得到的准系统......我的问题是它不起作用。

我希望能够进行一次信息交换以及端口对流保持开放的情况。我认为这些任务在 asyncio 中会很简单,但在这一点上让它与 qt 很好地配合似乎很困难。

现在我得到了

RuntimeWarning: coroutine 'PushButton.sendmessage' was never awaited
  rslt = self.__app.exec_()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Run Code Online (Sandbox Code Playgroud)

我不知道从哪里开始解决这个问题。

测试.py

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import Qt, pyqtSlot
import sys
import asyncio
from asyncqt import QEventLoop
from async_client import tcp_echo_client


class PushButton(QWidget):

    loop = None

    def __init__(self,app_loop):
        super(PushButton,self).__init__()
        self.initUI()
        self.loop = loop

    def initUI(self):
        self.setWindowTitle("PushButton") …
Run Code Online (Sandbox Code Playgroud)

python tcp coroutine pyqt5 python-asyncio

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

嵌套循环C#上出现内存不足错误

我看了这个,我几乎得到了它,但我有一个剩余的运行时错误.
我的代码如下:

while ((line = reader.ReadLine()) != null)
{
    while (reader.Peek() != '\r')
    {
        datalinestream.Add(GetWord(reader));
    }
    LuceneDB.AddUpdateLuceneIndex(new MATS_Doc( datalinestream));
    datalinestream.Clear();
}
Run Code Online (Sandbox Code Playgroud)

代码正在导入数据,但循环不会中断,并且由于以下原因而崩溃

"mscorlib.dll中发生了'System.OutOfMemoryException'类型的未处理异常"

外部while循环的适当中断条件是什么,以确保我读取整个文件并在结束时中断.我很难解决这个问题,因为我需要前进到下一行,我需要跳过电子表格中的第一行.任何帮助非常感谢.

*更新*

我清除字符串列表,因为我正在为lucene索引创建一个文档,它只有大约14个字段,我不希望列表变得太大.

我的getword代码

private string GetWord(TextReader inputdata)
        {
            String word = "";

            while (inputdata.Peek() >= 0)
            {
                word += (char)inputdata.Read();
                if ((word.Contains(";"))) break;
            }

        return word;
    }
Run Code Online (Sandbox Code Playgroud)

c# streamreader while-loop

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