用paodingAnalyzer 怎么让它搜索到PhraseQuery任意一个词都hit

thirdeye 2009-05-12
使用paodingAnalyzer是,输入关键字“女性 时期”,它会把带有“女性”和“时期”的记录都返回,但是如果我输入“女性时期”(没有空格),就只返回两个词都有的记录。怎样让没有空格也能实现有空格那样的效果呢?

我单步发现,“女性 时期”创建的是BooleanQuery,包含两个TermQuery(“女性”,“时期”)而“女性时期”创建的是PharseQuery(“女性 时期”)。

最好不改paodingAnalyzer的源码。
ppsddt 2009-05-13
你选择的应该是最大切词    paoding中有两个切词法 
一个人最多切词most-words 一个是最大切词max-words-length 这两种模式可以在
paoding-analyzer.properties 文件种配置 如果不配置 默认情况
也为most-words切词模式
thirdeye 2009-05-13
ppsddt 写道
你选择的应该是最大切词    paoding中有两个切词法 
一个人最多切词most-words 一个是最大切词max-words-length 这两种模式可以在
paoding-analyzer.properties 文件种配置 如果不配置 默认情况
也为most-words切词模式


改成max-word-length请求分词的结果把“女性时期”当一个词来查找,也不能找到结果。
我暂时修改了QueryParser的getFieldQuery方法时返回的结果是Booleanquery,暂时先这样用着,谁有不需要修改paoding源码的方法还请分享下。
Global site tag (gtag.js) - Google Analytics