尝试使用Lucene进行搜索时,我看到以下错误.(版本1.4.3).关于为什么我能看到这个以及如何解决它的任何想法?
Caused by: java.io.IOException: read past EOF
at org.apache.lucene.store.InputStream.refill(InputStream.java:154)
at org.apache.lucene.store.InputStream.readByte(InputStream.java:43)
at org.apache.lucene.store.InputStream.readVInt(InputStream.java:83)
at org.apache.lucene.index.FieldInfos.read(FieldInfos.java:195)
at org.apache.lucene.index.FieldInfos.<init>(FieldInfos.java:55)
at org.apache.lucene.index.SegmentReader.initialize(SegmentReader.java:109)
at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:89)
at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:118)
at org.apache.lucene.store.Lock$With.run(Lock.java:109)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:111)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:106)
at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:43)
Run Code Online (Sandbox Code Playgroud)
在同样的环境中,我也看到以下错误:
Caused by: java.io.IOException: Lock obtain timed out:
Lock@/tmp/lucene-3ec31395c8e06a56e2939f1fdda16c67-write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:58)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:223)
at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:213)
Run Code Online (Sandbox Code Playgroud)
相同的代码在测试环境中工作,但不在生产中.无法识别两种环境之间的任何明显差异.
在我的64位Debian/Lenny系统(4GByte RAM + 4GByte交换分区)上,我可以成功地做到:
v=array(10000*random([512,512,512]),dtype=np.int16)
f=fftn(v)
Run Code Online (Sandbox Code Playgroud)
但是f是一个np.complex128内存消耗是令人震惊的,我不能做更多的结果(例如调制系数然后f=ifftn(f))没有MemoryError回溯.
而不是安装更多的RAM和/或扩展我的交换分区,有没有办法控制scipy/numpy"默认精度"并让它计算一个complex64数组呢?
我知道我可以随后减少它f=array(f,dtype=np.complex64); 我希望它实际上以32位精度和一半内存进行FFT工作.
我最近尝试在linux机器上安装git repo并浪费了大约10个小时,绝对没有结果.编译或类似的东西没有任何问题,这只是配置问题.2个小时后,我变得善变,做我需要的一切:
我能看到的关于git的一切假设你要么只是在本地运行它,要么使用github或已经完成了所有设置.我要么不是在寻找合适的关键词,要么就是没有关于这个主题的信息.
我确实想尝试git,但设置它是一个非常令人沮丧的经历.任何人都可以指出这些术语中有用的东西吗?
谢谢!
在我提出问题之前,请看一下这个示例函数:
DateTime.TryParse("01/01/2000", out oDate)
Run Code Online (Sandbox Code Playgroud)
为什么我需要指定out关键字?编译器不应该从函数的定义中知道这一点吗?
我出于纯粹的好奇心问这个问题,希望我能学到一些关于编译器的新知识.
我还应该澄清一下,我特别询问C#.NET 3.5编译器.
我很想知道为什么Delphi将记录类型属性视为只读:
TRec = record
A : integer;
B : string;
end;
TForm1 = class(TForm)
private
FRec : TRec;
public
procedure DoSomething(ARec: TRec);
property Rec : TRec read FRec write FRec;
end;
Run Code Online (Sandbox Code Playgroud)
如果我尝试为Rec属性的任何成员赋值,我将得到"左侧无法分配"错误:
procedure TForm1.DoSomething(ARec: TRec);
begin
Rec.A := ARec.A;
end;
Run Code Online (Sandbox Code Playgroud)
允许对底层字段执行相同操作:
procedure TForm1.DoSomething(ARec: TRec);
begin
FRec.A := ARec.A;
end;
Run Code Online (Sandbox Code Playgroud)
这种行为有什么解释吗?
我试图用java包围我的想法.当我将一个对象传递给另一个类的方法时,我不能只调用该对象类固有的任何方法吗?
以下示例中的代码无法编译的原因是什么?
谢谢,
class a {
public static void myMethod(Object myObj) {
myObj.testing();
}
}
class b {
public void testing() {
System.out.println ("TESTING!!!");
}
}
class c {
public static void main (String[] args) {
b myB = new b();
a.myMethod(myB);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我将myMethod中的参数保留为Object类型的原因是因为我希望能够传递各种对象类型,每种类型都有一个testing()方法.
我有一个UserControl(WinForms,.net 2.0),我就是这样的:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var rect = e.ClipRectangle;
var pen = new Pen(Brushes.LightGray, 1);
e.Graphics.DrawRectangle(pen, rect);
}
Run Code Online (Sandbox Code Playgroud)
我基本上想在UserControl上绘制一个边框,但矩形也在所有子控件中绘制!我从来没有读过应该为每个儿童控制器调用它,是否有解决方案?
我有一系列的项目,我想对他们的一个属性进行排序.我可以使用" item.Fields ["FieldName"]访问items属性.值 "该属性以字符串形式返回,但我可以将其转换为int.
我查看了OrderBy <>但我不知道如何使用它.
我正在基于ListView控件的每一行中的数据创建连接字符串.我需要弄清楚如何删除每个字符串中与ListView的单行相关的第一个元素.我怎么能做到这一点?这是一个C#winforms项目.
这是我目前的代码:
foreach (ListViewItem HazPackErrItems in HazmatPackageErrorListview.Items)
{
string HazPackErrRow = " ";
foreach (ListViewItem.ListViewSubItem HazPackErrSub in HazPackErrItems.SubItems)
{
HazPackErrRow += " " + HazPackErrSub.Text + ",";
}
// Remove comma after last element of string.
HazPackErrRow = HazPackErrRow.Substring(0, HazPackErrRow.Length - 2);
MessageBox.Show(HazPackErrRow); // List concatenated subitems
}
Run Code Online (Sandbox Code Playgroud) private List<string> _Baseline = new List<string>();
public List<string> Baseline
{
get { return _Baseline; }
set { _Baseline = value; }
}
Run Code Online (Sandbox Code Playgroud)
我该如何设置此属性?它不允许我使用add方法添加; 它会抛出"对象引用null"错误.