我正在为餐馆建立一个推荐系统。每个餐厅都以文件的形式出现。它具有以下功能(领域),美食,设施,类型。
现在,我读到了有关MoreLikeThis查询的内容。它根据术语频率找到类似的文档。因此,它忽略了两个具有以下烹饪的文件
“牛排馆澳大利亚无麸质”
因为,lucene索引并不认为它们是重要的术语,因为它们只出现一次。
是否还有其他忽略术语频率的查询?并根据匹配的最大数量的关键字找到类似的文档?
答案 0 :(得分:0)
您可以通过QueryParser
运行文档的全部内容来创建查询,例如:
QueryParser myQueryParser = new QueryParser(myFieldName, new StandardAnalyzer());
Query query = myQueryParser.parse(QueryParserBase.escape(myDoc.get(myFieldName)));
潜在的问题可能是导致性能不佳的问题过多(这就是为什么MoreLikeThis
会尝试选择要查询的最佳字词而不是搜索所有字词的原因),或者太多条款异常。