RichTextBox.Find 不适用于 Solr 亮点
我的应用程序需要能够指示 Solr 的亮点实际上来自原始文档中的何处。目前,我的项目仅处理 .txt 文件。
我使用 Solr 返回的突出显示作为 richtextbox.find
函数的字符串输入。获得点击的起点后,我使用 Richtextbox.select 函数突出显示该字符串,并设置背景色和颜色以及其他属性。
问题:RichTextBox.Find
永远不会返回有效的输出(始终为 -1),这意味着它没有在文档中找到我的突出显示文本。
我尝试删除 和
标签以及突出显示的
\n
标签字符串,但不会出现在实际的文本文档中,但它仍然没有 工作。即使该字符串与文件中的文本片段看起来相同,在 MS Word 或记事本上搜索原始文件中的相同字符串也不起作用。我可以获取有关需要对字符串进行更改以使其可搜索的其他信息吗?
编辑1:
我已经找到了问题所在。显然,在某些情况下,Solr 返回的突出显示本身包含一些最初在原始文档中未找到的不可打印或垃圾字符。我需要一种方法来根据某些标准可靠地清洁它们。我的文本包含许多有效的特殊字符,因此我不能错误地删除这些字符!
My application needs to able to indicate where in the original document do the highlights from Solr actually come from. For the time being, my project deals only with .txt files.
I'm using the highlights returned by Solr as string inputs to an richtextbox.find
function. Once I have the starting point of the hit, I highlight the string using richtextbox.select
function and set backcolor and color and other properties.
PROBLEM : RichTextBox.Find
is never returning a valid output (always -1), which means it's not finding my highlight text in the document.
I've tried removing the <em>
and </em>
tags along with the \n
tags that are there in the highlight string but won't be there in the actual text document, but it still doesn't
work. Searching the same string on MS Word or Notepad on the original file doesn't work either, even though the string appears identical to the text fragment in the file. Is there any other information I can get on changes i need to make to the string to make it searchable?
EDIT 1 :
I've tracked down the problem. Apparently in certain cases, the highlight that Solr returns itself contains some non-printable or junk characters not initially found in the original document. I need a way to reliably clean these on some criteria. My text contains a lot of valid special characters so I cannot afford to have those removed by mistake!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论