0

我有一个企业目录列表。

如果用户搜索“plumbing business in new york”,则查询应返回 Solr 索引中的所有管道业务,并且还应运行一个子查询,该子查询将返回纽约的所有管道业务。

在 solr 中,我将使用 stopwords.txt 文件从查询中删除“in”。

用户可能会犯将“new york”拼写为“new yrok”的拼写错误。对于拼写错误,我可以使用 spellings.txt

在最后的查询中,我想获取州、国家、街道或国家的名称并运行两个查询。

1-“管道业务”,它将返回我们 SOLR 索引中的所有管道业务。2-“plumbing business new york”,删除“in”并进行拼写检查后,将返回纽约的所有水暖企业。

谁能告诉我这是如何在 SOLR 中实现的?

4

1 回答 1

0

您需要做一些 NLP 并将用户的查询转换为 SOLR 查询。

例如,如果你有这个词in,你可能会假设它之前的所有东西都是某人正在寻找的东西,而它之后的所有东西都是他们需要找到它的地方。假设您的模式具有业务和位置字段,使用正确字段中提供的值构造 SOLR 查询很简单。

于 2013-04-23T14:38:44.863 回答