Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net Examine/Lucene教程_.net_Search_Lucene_Lucene.net - Fatal编程技术网

.net Examine/Lucene教程

.net Examine/Lucene教程,.net,search,lucene,lucene.net,.net,Search,Lucene,Lucene.net,我感兴趣的是在一个独立的桌面应用程序中搜索db表以及office/.pdf文件 这看起来是Lucene/Inspect的一个很好的场景 然而,那里的文档很少,虽然我在SQL全文搜索方面有丰富的经验,但Lucene是一个完全不同的野兽,因此需要关于如何/从哪里开始的帮助/指针 是的,我做了谷歌搜索,但是没有找到任何资源,因为术语很普通(Lucene检查教程等)< P>我曾经需要与Cucucene一起工作,这是Lucene API的C++实现。在我偶然发现这本书之前,这是一项非常困难的任务。虽然这些

我感兴趣的是在一个独立的桌面应用程序中搜索db表以及office/.pdf文件

这看起来是Lucene/Inspect的一个很好的场景

然而,那里的文档很少,虽然我在SQL全文搜索方面有丰富的经验,但Lucene是一个完全不同的野兽,因此需要关于如何/从哪里开始的帮助/指针


是的,我做了谷歌搜索,但是没有找到任何资源,因为术语很普通(Lucene检查教程等)

< P>我曾经需要与Cucucene一起工作,这是Lucene API的C++实现。在我偶然发现这本书之前,这是一项非常困难的任务。虽然这些示例都是Java的,而且API也有一些不同,但这本书非常清楚地解释了Lucene中的概念,所以我只是在CLucene中使用了这些知识。这本书约470页长,但你可以阅读前三章


我知道这不是Lucene/Examine教程的建议,但它确实值得一试,因为Examine只是Lucene的一个简单包装。一旦获得了这些概念,检查本身就变得明显。

< P>我需要使用Cucucene,这是Lucene API的C++实现。在我偶然发现这本书之前,这是一项非常困难的任务。虽然这些示例都是Java的,而且API也有一些不同,但这本书非常清楚地解释了Lucene中的概念,所以我只是在CLucene中使用了这些知识。这本书约470页长,但你可以阅读前三章


我知道这不是Lucene/Examine教程的建议,但它确实值得一试,因为Examine只是Lucene的一个简单包装。一旦您了解了这些概念,检查本身就变得显而易见了。

首先要知道的是Lucene.NET是Lucene的逐行端口。它只有一些小的方面是特定于.NET的,因此您可以在Java Lucene中找到的大多数东西也适用于.NET版本。仅此一点就足以生动地讨论如何将Java项目移植到.NET。事实上,经过多年的酝酿,该项目刚刚作为一个成熟的Apache项目毕业

现在,我同意韦德兰的观点,那就是这本书是一种真正的享受,不仅是为了很快地跟上进度(天知道,卢塞恩很快),而且是为了深入了解帮助你解决问题的血淋淋的细节

如果你想从网上材料开始,它看起来可以帮你一把。它已经有将近10年的历史了,但快速看一眼,我就知道它大体上仍然存在。它解决了搜索(索引/查询)的两个方面,同时用实际的Java代码进行了演示,这些代码应该很容易移植到C#

简言之,这些就是亮点
  • 要写入索引,请使用IndexWriter
  • 要查询索引,请在IndexSearcher上释放查询
  • 编写器使用一个分析器(默认为StandardAnalyzer),该分析器定义了文本的存储和/或索引方式
  • 要创建查询,可以使用QueryParser(它还需要一个分析器),或者自己构建查询对象
  • 有了这些信息,您就可以设置一个最小的工作示例了

    分析者 下一步是深入研究标记化。不同的分析器进行不同的标记化。它们允许您忽略短词、按非字母数字字符拆分或进行词干分析(SnowBallaAnalyzer)。了解哪些分析仪可用并选择正确的分析仪对于使Lucene适合您的问题至关重要

    质疑 索引数据可以以一种灵活的方式进行查询,但有其自身的局限性。由于Lucene的特性,诸如否定、排序和范围之类的事情会让你非常头疼

    你必须意识到的一点是,Lucene实际上只不过是一本超高效的字典,你可以用它进行查找。例如,这解释了为什么否定是特殊的。您不能搜索缺少的内容,但可以搜索“MyField:false”。搜索介于1和3之间的数字通常会创建一个查找1、2和3的查询。在处理日期时,您必须确保以可排序的方式对日期进行索引(例如20121005)

    社区 如果你遇到了问题:事实证明,它非常有帮助,反应迅速

    SOLR.NET 你可能会遇到一些限制,比如需要刻面。是建立在Lucene.NET之上的,它解决了一些需要您竭尽全力才能解决的问题。但我从来没有真正使用过它

    检查
    我也没有使用Examine的经验,但从我很快看到的情况来看,它只是减轻了手工处理查询的负担。

    首先要知道的是Lucene.NET是Lucene的逐行端口。它只有一些小的方面是特定于.NET的,因此您可以在Java Lucene中找到的大多数东西也适用于.NET版本。仅此一点就足以生动地讨论如何将Java项目移植到.NET。事实上,经过多年的酝酿,该项目刚刚作为一个成熟的Apache项目毕业

    现在,我同意韦德兰的观点,那就是这本书是一种真正的享受,不仅是为了很快地跟上进度(天知道,卢塞恩很快),而且是为了深入了解帮助你解决问题的血淋淋的细节

    如果你想从网上材料开始,它看起来可以帮你一把。它已经有将近10年的历史了,但快速看一眼,我就知道它大体上仍然存在。它解决了搜索(索引/查询)的两个方面,同时用实际的Java代码进行了演示,这些代码应该很容易移植到C#

    简言之,这些就是亮点
  • 要写入索引,请使用IndexWriter
  • 要查询索引,请在IndexSearcher上释放查询
  • 编写器使用一个分析器(默认为StandardAnalyzer),该分析器定义了文本的存储和/或索引方式
  • 要创建查询,可以使用QueryParser(它还需要一个分析器),或者