问题列表 - 第25919页

Lucene和特殊人物

我使用Lucene.Net 2.0来索引数据库表中的某些字段.其中一个字段是"名称"字段,允许使用特殊字符.当我执行搜索时,它找不到包含带有特殊字符的术语的文档.

我将我的字段编入索引:

Directory DALDirectory = FSDirectory.GetDirectory(@"C:\Indexes\Name", false);
Analyzer analyzer = new StandardAnalyzer();
IndexWriter indexWriter = new IndexWriter(DALDirectory, analyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);

Document doc = new Document();
doc.Add(new Field("Name", "Test (Test)", Field.Store.YES, Field.Index.TOKENIZED));
indexWriter.AddDocument(doc);

indexWriter.Optimize();
indexWriter.Close();
Run Code Online (Sandbox Code Playgroud)

我搜索以下内容:

value = value.Trim().ToLower();
value = QueryParser.Escape(value);

Query searchQuery = new TermQuery(new Term(field, value));
Searcher searcher = new IndexSearcher(DALDirectory);

TopDocCollector collector = new TopDocCollector(searcher.MaxDoc());
searcher.Search(searchQuery, collector);
ScoreDoc[] hits = collector.TopDocs().scoreDocs;
Run Code Online (Sandbox Code Playgroud)

如果我将字段搜索为"名称"并将值作为"测试",则会找到该文档.如果我执行与"名称"相同的搜索并将值作为"测试(测试)",则它找不到该文档.

更奇怪的是,如果我删除QueryParser.Escape行搜索GUID(当然,包含连字符),它会找到GUID值匹配的文档,但执行相同的搜索,其值为'Test(Test) '仍然没有结果.

我不确定我做错了什么.我使用QueryParser.Escape方法来转义特殊字符并存储字段并通过Lucene.Net的示例进行搜索.

有什么想法吗?

c# lucene indexing lucene.net

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

如何在Validator类中@Autowire对象?

是否可以在Validation类中自动装配对象?对于应该是Autowired的对象,我一直都为null ...

spring autowired

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

Python:对列表进行排序并因此更改另一个列表

我有两个列表:一个包含一组x点,另一个包含y个点.Python以某种方式设法混合x点,或者用户可以.我需要按从最低到最高的顺序对它们进行排序,然后移动y点以跟随它们的x对应项.它们分为两个单独的列表..我该怎么办?

python sorting list

16
推荐指数
3
解决办法
8825
查看次数

有什么可用于.NET来获得两个字符串的差异?

我正在寻找一种方法来确定两个字符串之间的差异,并在两个字符串中突出显示它们.

我怀疑大多数'diff'库不会起作用,因为它们显示出不同的行(我相信).

算法或库都可以使用.

谢谢,马克

.net c# string algorithm diff

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

url在红宝石中的代码?

我该如何改造?

www.bestbuy.com/site/Electronics\Audio\abcat0200000.c=3fid=3dabcat0200000
Run Code Online (Sandbox Code Playgroud)

进入原来的格式?

www.bestbuy.com/site/Electronics/Audio/abcat0200000.c?id=abcat0200000
Run Code Online (Sandbox Code Playgroud)

urldecode吗?

ruby

57
推荐指数
4
解决办法
5万
查看次数

如何使用Resharper对"删除冗余捕获"进行项目范围扫描?

我正在处理一个包含大量旧代码的大型代码库:

try
{
    ...
}
catch
{
    throw;
}
Run Code Online (Sandbox Code Playgroud)

Resharper有助于标记这些,并提供"删除冗余捕获"的选项,但我不喜欢必须逐个检查,我想立即将它们全部清除.有没有办法用Resharper做到这一点,可能通过将其与"代码清理"集成在一起?

resharper

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

杀死无符号/签名的比较错误

一般来说,我想要unsigned vs signed的警告.

但是,在这种特殊情况下,我希望它被压制;

std::vector<Blah> blahs;

for(int i = 0; i < blahs.size(); ++i) { ...
Run Code Online (Sandbox Code Playgroud)

我想杀死这个比较.

谢谢!

(使用g ++)

c++ comparison g++ suppress-warnings

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

正则表达式剥离特殊字符

我正在尝试使用regex.replace来删除不需要的字符,但我需要考虑空格:

string asdf = "doésn't work?";
string regie = @"([{}\(\)\^$&._%#!@=<>:;,~`'\’ \*\?\/\+\|\[\\\\]|\]|\-)";
Response.Write(Regex.Replace(asdf,regie,"").Replace(" ","-"));
Run Code Online (Sandbox Code Playgroud)

返回doésntwork而不是doésnt-work

想法?

谢谢!

regex

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

使用和不使用'typedef'声明枚举之间有什么区别?

在C++中声明枚举的标准方法似乎是:

enum <identifier> { <list_of_elements> };
Run Code Online (Sandbox Code Playgroud)

但是,我已经看到了一些声明,例如:

typedef enum { <list_of_elements> } <identifier>;
Run Code Online (Sandbox Code Playgroud)

如果存在,它们之间有什么区别?哪一个是正确的?

c++ enums typedef declaration

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

发布工具链

我有一个书项目,我想早点开始.这将遵循类似敏捷的发布工作流程,即:早期和经常发布.它本来是由我自我发布的,我并不是真的想用纸张发表它,即使我们从来不知道.

如果我不是一个极客,我可能已经开始使用Word或任何其他WYSIWYG工具编写,只是导出为PDF.但是,我们知道它不是最好的解决方案,而emacs规则我的文本编辑生活,因此,输出格式应该尽可能简单并且基于文本.

我考虑过以下几种选择:

  • 只需使用orgmode并导出为PDF(orgmode本机具有此功能)

  • 使用降价模式并导出为PDF(markdown-> LaTeX-> PDF不难设置);

  • 使用与@ Pragmatic Progammers所做的类似的东西:XML + XSLT + LaTeX.更复杂,但更多的控制风格.

  • 编辑:有人告诉我他使用了Textile + Adob​​e In Design和XTags插件的组合.虽然不确定它们是如何粘在一起的,但还是要做一些研究.

还有其他想法/参考吗?

我想尽快开始写作.事实上,我已经在组织格式的文件中有一个草稿.但是,我确实想拥有并使用LaTex的全部功能,以我想要的方式格式化它,让它看起来很棒:)

提前致谢,

马塞洛.

xslt emacs latex publishing

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