带有转义字符和保留字(TO)的Lucene搜索表达式?

时间:2019-07-02 17:25:16

标签: lucene range escaping kentico kentico-12

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 一词,但都没有改变结果集。关于如何解决此问题的想法?

感谢您的帮助!

0 个答案:

没有答案