【问题标题】:lucene 3.0.3 | QueryParserLucene 3.0.3 |查询解析器
【发布时间】:2011-08-13 01:03:06
【问题描述】:

我创建了自己的自定义分析器,让他们搜索 c#.netc++ 等。

当我尝试搜索 c#.netc++ QueryParser 解析 .net .netC++C++。所以它工作正常。但是如果是 C# QueryParser 将其解析为 C 这给我带来了麻烦。

也尝试使用 MultiFieldQueryParser 但它也这样做。

任何帮助或建议将不胜感激!!!

【问题讨论】:

  • 请发布一些代码,显示您正在使用哪些过滤器/标记器/分析器来组成您的自定义分析器。

标签: lucene.net lucene


【解决方案1】:

您的自定义分析器实现了哪些操作? 您的分析器是否连接到查询解析过程? 您是否正在使用AnalyzingQueryParser 来连接分析器以进行查询解析?

【讨论】:

  • 是的,我创建的分析器参与创建 QueryParser 对象。不,我没有使用 AnalyzingQueryParser。我在搜索 (c#.) 时找到了一个解决方案,它解析为 c# ,这意味着我必须在 c# 之后放置一个点 (.) ,这使得一切工作正常。但是,仍然找到真正的解决方案!!!
  • 用 AnalyzingQueryParser 替换 QueryParser,这将使您能够在解析查询时传递您的分析器。目前,基于单词的分词器会移除多余的点。
猜你喜欢
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 2013-07-21
  • 2016-10-18
相关资源
最近更新 更多