我正在构建电子商务搜索,我使用Lucene.Net作为我的搜索引擎。但是,我无法过滤我的查询。
这是我索引的文档之一,包含以下字段和值:
字段:“名称”,值:“Mochila MVP”
字段:“制造商”,价值“耐克配件”
现在,当我运行这些搜索时,我得到了以下结果:
用户类型查询
mochila ^ 5 nike ^ 2.5
Lucene将其翻译为:
(((姓名:mochil制造商:mochil)^ 5.0)((名称:nik制造商:nik)^ 2.5))
的结果:
带来产品“Mochila MVP”
用户类型查询
mochila ^ 5 AND nike ^ 2.5
Lucene将其翻译为:
(+((姓名:mochil制造商:mochil)^ 5.0)+((姓名:nik制造商:nik)^ 2.5))
的结果:
没有结果
用户类型查询
mochila ^ 5 +制造商:耐克
Lucene将其翻译为:
((姓名:mochil)^ 5.0)+制造商:耐克
的结果:
没有结果
我想知道的是为什么第二次和第三次查询没有结果,因为它们似乎与我的产品名称和制造商相匹配......
非常感谢任何帮助。提前谢谢!
答案 0 :(得分:0)
为什么会出现这种[意外]结果有很多可能的原因。以下是可以帮助您解决此问题的原因: