我有一个企业目录列表。
如果用户在纽约搜索“管道业务”,则查询应返回Solr索引中的所有管道业务 AND 还应运行子查询返回纽约的所有管道业务。
在solr中,我将使用stopwords.txt文件从查询中删除“in”。
用户可能会将拼写错误拼写为“new york”作为“new yrok”。 对于拼写错误,我可以使用spellings.txt
在最终查询中,我想获取州,国家,街道或国家/地区的名称并运行两个查询。
1-“管道业务”将返回SOLR指数中的所有管道业务。 2-“管道业务纽约”将取消“进入”并进行拼写检查后将返回纽约的所有管道业务。
有谁能告诉我这在SOLR中是如何实现的?
答案 0 :(得分:0)
您需要执行一些NLP并将用户的查询转换为SOLR查询。
例如,如果您有单词in
,您可能会认为它之前的所有内容都是某人正在寻找的东西,而它之后的所有内容都是他们需要找到它的地方。假设您的模式具有业务和位置字段,则使用右侧字段中提供的值构建SOLR查询非常简单。