使用solr解析自由文本(自然语言)查询

时间:2011-02-15 07:29:51

标签: search solr full-text-search freetext

我正在尝试为本地搜索网站构建查询解析算法,该算法可以将自由文本搜索查询(单输入文本框)分类为网站上可能的各种搜索类型。

例如用户可以在xyz附近键入中餐馆。我应该如何分解为烹饪:“中国”,地点:“xyz”给出

- there could be spelling mistakes
- keywords may match in different columns e.g. a restaurant may have "chinese" in its name

这不是一个真正的自然语言解析问题,因为我们试图搜索一组非常有限的可能性

我最初的想法是将特定类型的所有值转储到数据库中的字段中,并使用用户查询来匹配所有这些字段。然后根据得分(以及预先设定的置信度)将查询划分为3-4个搜索字段,如name / cuisine / locality。

有没有更好/标准的方法来做到这一点。

1 个答案:

答案 0 :(得分:-1)

关于拼写错误,您必须使用词典/词库。这可以是预处理和标准化的一部分。

关于您可以执行的多列查询;美食:中餐或餐馆名称:中文

你可以提升两个中的一个:美食:中文^ 0.8或餐馆名称:中文