我以这种方式创建Lucene查询:
BooleanQuery innerQuery = new BooleanQuery();
MultiFieldQueryParser queryParser = new MultiFieldQueryParser(fields.ToArray<string>(), this.SearchIndex.Analyzer);
queryParser.SetDefaultOperator(QueryParser.Operator.AND);
Query query = queryParser.Parse(QueryParser.Escape(searchExpression.ToLowerInvariant()));
if (boost.HasValue)
{
query.SetBoost(boost.Value);
}
innerQuery.Add(query, BooleanClause.Occur.SHOULD);
问题是当一个字段包含html标记,例如<a href.../>
,而搜索表达式是“href”时,它会返回此项。我可以以某种方式将其设置为跳过“&lt;&gt;”中的搜索标签
答案 0 :(得分:0)
这实际上是抓取过程(即存储在索引中的内容)而不是搜索查询的问题。
我看到你正在使用Sitecore 6.看看这个pdf: Sitecore 6.6 Search and Indexing
它有一节介绍如何制作抓取工具。这应该允许您随意解析内容,因此您可以省略HTML标记中的任何内容。