拼写检查后从SOLR查询中提取国家,州,城市或州名

问题描述:

我有一个企业目录列表。拼写检查后从SOLR查询中提取国家,州,城市或州名

如果用户搜索“在纽约水暖企业”查询应返回所有的水暖企业在我们的Solr指数还应该运行一个子查询将返回所有的水暖企业在纽约。

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

用户可能会拼写“纽约”拼写错误为“新yrok”。 对于拼写错误,我可以使用spellings.txt

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

1-“管道业务”将返回SOLR索引中的所有管道业务。 2-“纽约管道业务”,将在移除“in”并执行拼写检查后返回纽约所有管道业务。

任何人都可以告诉我在SOLR中这是如何实现的吗?

+0

您是否检查Solr更新处理器链? – kamaci 2013-04-23 10:05:24

+0

只是阅读它。他们不是为了更新吗?我没有试图做任何更新。请选择。 – hajime 2013-04-23 13:16:00

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

例如,如果你有单词in,你可以假定它之前的所有内容都是某人正在寻找的东西,并且之后的所有内容都是他们需要找到它的地方。假设您的模式具有业务和位置的字段,那么使用正确字段中提供的值构建SOLR查询非常简单。

+0

但用户可以输入“水暖行业纽约”,而不需要输入。就像在谷歌,用户也可以犯一个拼写错误“水暖企业新yrok”。所以这就是为什么我认为如果SOLR在检查拼写(spelling.txt)和删除关键字(stopwords.txt)之后有办法识别提供country.txt文件或其他东西的国家,州或城市? – hajime 2013-04-23 17:16:19