Carrot2 不显示所有包含搜索特定词的集群

Carrot2 doesn't show clusters all containing specific word on search

我从我的数据库中选择了一些包含特定单词的行,如 Whosebug,并将它们保存在一个文本文件中。 然后,我使用 Lucene 来索引文件内容。

当我尝试使用 Carrot2 在索引文件上搜索 Whosebug 时,它 returns 没有文档,但是对于我知道它们至少存在于一个文档中的其他词,它 returns 其中一些。

在Carrot2文档中,有一个关于属性Maximum word document frequency的解释:

Maximum word document frequency. The maximum document frequency allowed for words as a fraction of all documents. Words with document frequency larger than maxWordDf will be ignored. For example, when maxWordDf is 0.4, words appearing in more than 40% of documents will be be ignored. A value of 1.0 means that all words will be taken into account, no matter in how many documents they appear. This attribute may be useful when certain words appear in most of the input documents (e.g. company name from header or footer) and such words dominate the cluster labels. In such case, setting maxWordDf to a value lower than 1.0, e.g. 0.9 may improve the clusters.

Another useful application of this attribute is when there is a need to generate only very specific clusters, i.e. clusters containing small numbers of documents. This can be achieved by setting maxWordDf to extremely low values, e.g. 0.1 or 0.05.

所以,当我将 maxWordDf 设置为 1.0 时,没有任何变化,它仍然没有显示搜索文档。

我该如何解决我的问题?

搜索结果中缺少文档的原因通常是用于索引文档的分析器与 Carrot2 在搜索期间使用的分析器不匹配。默认情况下,Carrot2 使用 Lucene 的 StandardAnalyzer,您使用 LuceneDocumentSource.analyzer 属性提供不同的分析器。