如何在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%'
答案 0 :(得分:3)
归结为如何存储它。当您存储文档时,您似乎正在存储HTML 和搜索文档。
我建议您有两个单独的字段:
为了填充第二个字段,您应该通过类似HTML Agility Pack的内容运行HTML以获取您正在存储/处理的HTML节点的内部文本,然后通过{{3}运行该文本获取HTML实体代表您可以实际分析和搜索的文本。
然后,您可以在分析的字段中搜索任何您想要的内容,而无需执行任何特殊操作,然后从存储原始HTML的字段中检索内容。
关于通配符搜索,它们受支持,您只需HttpUtility.HtmlDecode
method(假设您使用的是QueryParser
)。请注意,默认情况下不启用通配符前缀。