我有一份商业目录。
如果用户搜索“纽约管道企业”,查询应该返回Solr索引中的所有管道业务,也应该运行一个子查询,该子查询将返回纽约的所有管道业务。
在solr中,我将使用stopwords.txt文件从查询中删除" In“。
用户可能会犯将"new york“拼写为"new yrok”的拼写错误。对于拼写错误,我可以使用spellings.txt
在最后一个查询中,我希望获得状态、国家、街道或国家的名称,并运行两个查询。
1-“管道业务”,它将返回我们的SOLR索引中的所有管道业务。2-“纽约管道企业”,它将在删除" in“并进行拼写检查后返回纽约的所有管道企业。
有人能告诉我这在SOLR是如何实现的吗?
发布于 2013-04-23 14:38:44
您需要做一些NLP,并将用户的查询转换为SOLR查询。
例如,如果您有单词in,您可能会假设,在它之前的所有东西都是某人正在寻找的东西,而在它之后的所有东西都是他们需要找到的地方。假设您的模式有用于业务和位置的字段,那么使用正确字段中提供的值构造SOLR查询非常简单。
https://stackoverflow.com/questions/16164717
复制相似问题