C#Framework 4.6.1,使用Kentico 12(Lucene.Net 3.0.3)的MVC项目。这是自上一个已解决(Using the wrong escape character for Lucene lexical error at line 1 Cannot Parse Encountered . Kentico 12)问题开始的后续工作,但现在我遇到了一个新的问题,可能与之相关。
在我的索引中,我正在对以下文本短语进行字段搜索(在直径上),并且它应该仅返回一行:
.25" to .6" (6.35mm to 15.24mm)
我将整个短语转义如下:
diameter:\\((.25\\" to .6\\" \\(6.35mm to 15.24mm\\)))
从技术上讲这是可行的,但返回一堆行,包括我想要的单个记录。我想要的实际行列在最前面,并且(到目前为止)得分最高。话虽这么说,我不能只拿前1名,而应该只返回单个项目。
一个大问题:如何与该搜索表达式完全匹配?它与所使用的 TO 值有关吗? Lucene可以认为这是一个范围吗?添加“ +”?另外,我使用 \ to 和 \\ to 逃避了 TO 一词,但都没有改变结果集。关于如何解决此问题的想法?
感谢您的帮助!