繁体   English   中英

Lucene.Net。 如何搜索HTML实体

[英]Lucene.Net. How to search through HTML entities

如何在lucene.net中搜索html实体?

我在数字html实体中的所有索引,所以如果我搜索示例“34”它会来&#<b>34</b>;

同样非常有趣的是,如何使用不同的单词在SQL中搜索不同的字段。 例如搜索短语“word1 word2”

SELECT * FROM table WHERE 
title LIKE 'word1%' OR title LIKE 'word2%' OR 
description LIKE'word1%' OR description LIKE 'word2%'

它归结为你如何存储它。 存储文档时,您似乎正在存储HTML 在其上进行搜索。

我建议您有两个单独的字段:

  • 一个存储原始HTML,但没有分析(没有必要搜索标记,是吗?)
  • 一个包含为搜索而处理的HTML。 此字段存储,但它进行了分析。

为了填充第二个字段,您应该通过HTML Agility Pack之类的东西来运行HTML,以获取您正在存储/处理的HTML节点的内部文本,然后通过HttpUtility.HtmlDecode方法运行该文本以获取文本HTML实体代表您可以实际分析和搜索的内容。

然后,您可以在分析的字段中搜索您想要的任何内容,而无需执行任何特殊操作,然后从存储原始HTML的字段中检索内容。

关于通配符搜索,它们是受支持的,您只需适当地构建查询 (假设您使用的是QueryParser )。 请注意,默认情况下不启用通配符前缀。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM