假设我在网站上有一个条目 pepe jeans。用户搜索 pepejeans。我目前使用 tf-idf 和余弦相似度来返回最重要的结果,但由于内容很大,我已将内存使用量保持得尽可能小。那么我可以用什么来解决这个问题呢?一种解决方案是保留内容的所有 ngram 的带空格和不带空格的记录。
另一个例子- 如果用户搜索 Nikeshoes。现在耐克是一个品牌,但耐克鞋不是一个品牌。如果搜索查询是 Nike Shoes,那么它会返回 Nike 作为品牌。 这里的内容指的是品牌名称。我正在尝试从查询中识别品牌名称
最佳答案
典型的解决方案是在执行查询之前进行查询重写。在查询重写期间,您可以将用户给出的查询转换为更适合您的检索系统的形式。这可能涉及标记化、词干提取、拼写检查和其他类型的重写。
有关概述,请参阅此博文 https://hughewilliams.com/2012/03/19/query-rewriting-in-search-engines/
关于java - 在制作电子商务网站的搜索引擎时,如何处理空格位置错误的搜索查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37485665/