Lucene,莫雷克斯的替代品?

Lucene,莫雷克斯的替代品?,lucene,Lucene,我正在为餐馆建立一个推荐系统。每个餐厅都以文件的形式表示。它有以下特点(领域)、菜肴、设施、类型 现在,我读到了更多关于这个问题的信息。它根据术语频率查找类似的文档。因此,它会忽略以下两个文档: “澳大利亚无麸质牛排馆” 因为Lucene索引不考虑它们重要的术语,因为它们只出现一次。 是否有任何其他查询忽略术语频率?只需根据匹配的最大关键字数查找类似文档?您可以使用文档的全部内容创建一个查询,方法是通过QueryParser,类似于: QueryParser myQueryParser = ne

我正在为餐馆建立一个推荐系统。每个餐厅都以文件的形式表示。它有以下特点(领域)、菜肴、设施、类型

现在,我读到了更多关于这个问题的信息。它根据术语频率查找类似的文档。因此,它会忽略以下两个文档:

“澳大利亚无麸质牛排馆”

因为Lucene索引不考虑它们重要的术语,因为它们只出现一次。


是否有任何其他查询忽略术语频率?只需根据匹配的最大关键字数查找类似文档?

您可以使用文档的全部内容创建一个查询,方法是通过
QueryParser
,类似于:

QueryParser myQueryParser = new QueryParser(myFieldName, new StandardAnalyzer());
Query query = myQueryParser.parse(QueryParserBase.escape(myDoc.get(myFieldName)));

潜在的问题可能是过长的查询导致性能不佳(这就是为什么
MoreLikeThis
尝试选择要查询的最佳术语,而不是搜索所有术语),或者子句异常过多。

您可以通过
QueryParser
使用文档的全部内容创建查询,比如:

QueryParser myQueryParser = new QueryParser(myFieldName, new StandardAnalyzer());
Query query = myQueryParser.parse(QueryParserBase.escape(myDoc.get(myFieldName)));
潜在的问题可能是过长的查询导致性能不佳(这就是为什么
MoreLikeThis
尝试选择要查询的最佳术语,而不是搜索所有术语),或者出现过多的子句异常