下面是一个分解查询设置slop为99的帮助方法 :
private
void SetSlop(Query q)
{
var bQuery = q as BooleanQuery;
if (bQuery != null)
{
foreach ( var bq in bQuery.Clauses())
{
var query = bq as BooleanClause;
if(query!= null)
{SetSlop(query.GetQuery());}
}
return;
}
var pQuery = q as PhraseQuery;
if (pQuery != null)
{
pQuery.SetSlop( 99);
}
}
{
var bQuery = q as BooleanQuery;
if (bQuery != null)
{
foreach ( var bq in bQuery.Clauses())
{
var query = bq as BooleanClause;
if(query!= null)
{SetSlop(query.GetQuery());}
}
return;
}
var pQuery = q as PhraseQuery;
if (pQuery != null)
{
pQuery.SetSlop( 99);
}
}
本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2012/04/05/2433142.html,如需转载请自行联系原作者