Solr 对极短文档的长查询

Solr 对极短文档的长查询,solr,lucene,Solr,Lucene,就Lucene/Solr而言,我刚从托儿所出来,所以我可能试图完全错误地利用它,但我希望有人能给我指出正确的方向 我的文档(少于3000个)是分类法中的简短语句。所有句子都是单句,有些句子长度不超过4-6个单词。每个文档只有一个字段,所以跨多个字段搜索不是我要研究的路线。我想做的是查询工作相关文档的内容,并返回相关的分类语句 目前,我正在使用Solr附带的默认示例设置,其中添加了Wordnet中的动词同义词,因为执行的操作是我试图识别的(即“根据规范改变服装”的分类声明) 基本的单词匹配工作如预

就Lucene/Solr而言,我刚从托儿所出来,所以我可能试图完全错误地利用它,但我希望有人能给我指出正确的方向

我的文档(少于3000个)是分类法中的简短语句。所有句子都是单句,有些句子长度不超过4-6个单词。每个文档只有一个字段,所以跨多个字段搜索不是我要研究的路线。我想做的是查询工作相关文档的内容,并返回相关的分类语句

目前,我正在使用Solr附带的默认示例设置,其中添加了Wordnet中的动词同义词,因为执行的操作是我试图识别的(即“根据规范改变服装”的分类声明)

基本的单词匹配工作如预期,但我想让事情变得更复杂一些。由于查询时间太长,在搜索这些小文档时,我从来没有得到过高分。我相信这可以通过以某种方式对分数进行标准化来解决,因此我并不真正关心分数的公布,而是关注正在确定的实际陈述(文档)


我最好是动态地为文档(目前是长查询)编制索引,查询每个分类法语句并编译/排序结果,还是以其他方式有效地对小文档执行这些长查询?我想这可能会带来它自己的困难。

我看你在这里做的事情没有尽头,我的意思是你的短文档索引肯定会遇到信息匮乏的问题,长时间的查询会使每个结果在它面前几乎平淡无奇,即使通过添加Wordnet同义词来扩展文档,也会造成混淆和误导。我认为,我的建议是,检查其他可能的查询形式。

我参考了维基百科中关于分类法的条目,但我仍然不理解你的问题。请包括一些示例文档和查询,以及它们应该如何匹配。你想对它们进行什么样的分析?不管怎样,3000个文档是一个非常小的数字。将其全部存储在内存中的python脚本需要几MB的RAM,不需要花时间处理它,并在瞬间从磁盘存储/检索它。因此,您可以自己实现任何所需的算法。识别“执行的动作”似乎是“词性”算法(名词、动词等)的工作。像Mahout这样的数据挖掘包可以做到这一点。@aitchnyu-不幸的是,我对SA或LSI一无所知,无法编写自己的算法。我希望我能利用Solr这样的东西让我在这里起步。我需要明确知道文档中是否存在特定语句。措辞可能完全不同(同义词等),但我需要能够抓住它。我确信这件事可以通过算法和词性标注来完成,但我不知道怎么做。另外,我对Java不太在行,所以这妨碍了我使用一些工具。@aitchnyu-上面给出了一个示例文档。查询可以是任何内容,如工作描述、用户指南、教程……任何内容。