草庐IT

lucene-highlighter

全部标签

c# - Lucene - 短语中的通配符

我目前正在尝试使用Lucene来搜索索引中填充的数据。我可以通过将其括在方括号中来匹配精确的短语(即“处理文档”),但无法通过执行任何类型的“处理文档*”让Lucene找到该短语。最明显的区别是末尾的通配符。我目前正在尝试使用Luke查看和搜索索引。(它在解析时去掉了短语末尾的星号)在数据周围添加引号似乎是罪魁祸首,因为搜索document*会起作用,但“document*”不起作用如有任何帮助,我们将不胜感激 最佳答案 Lucene2.9有ComplexPhraseQueryParser它可以处理短语中的通配符。

c# - 如何使用 Lucene.net 实现自定义过滤器?

下面的代码来自LuceneInAction一书(最初使用Java)。它用于构建“允许”文档列表(从用户权限的角度来看)以过滤搜索结果。问题是termsDocs.Read()方法不接受通过引用传递的'doc'和'freq'数组,因此在位数组中设置位时它们仍然为空。任何人都可以提供帮助,使用Lucene自定义过滤器(尤其是在.net中)的示例似乎很少见。谢谢。publicclassLuceneCustomFilter:Lucene.Net.Search.Filter{string[]_luceneIds;publicLuceneCustomFilter(string[]luceneIds)

c# - 避免在重建期间删除当前的 Lucene.NET 索引

我是Lucene.NET的新手,但我正在使用anopensourcetool专为SitecoreCMS打造它使用Lucene.NET从CMS中索引大量内容。我昨天确认,当我重建索引时,当前的索引文件会被清除干净,因此依赖索引的任何东西在大约30-60秒(完整索引重建的时间)内都没有数据。是否有最佳实践或方法让Lucene.NET在新索引完全重建之前不覆盖当前索引文件?我基本上认为我希望它写入新的临时索引文件,并且在重建完成后让这些文件覆盖当前索引。我正在谈论的例子:建立新索引(~30秒)索引有大约500个文档使用代码访问索引中的数据并在网站上显示重建索引(~30秒)现在读取数据索引的任

c# - 如何使用 Lucene.Net 执行 'contains' 搜索而不是 'starts with'

我们使用Lucene.NET在客户网站上实现全文搜索。搜索本身已经可以工作,但我们现在想要进行修改。目前,所有术语都附加了一个*,这会导致Lucene执行我将其归类为StartsWith搜索的操作。在未来,我们希望有一个搜索执行类似于Contains而不是StartsWith的搜索。我们使用Lucene.Net2.9.2.2标准分析器默认查询解析器示例:(Title:Orch*)匹配:Orchestra但是:(Title:rch*)不匹配:Orchestra我们希望第一个和第二个都匹配Orchestra。基本上我想要与这个问题中的问题完全相反,我不确定为什么Lucene对这个人执行Co

c# - 是否有将 Lucene.NET 集成到 ASP.NET MVC 应用程序中的任何建议?

我想知道是否有关于将基于Lucene.NET的搜索集成到ASP.NETMVCWeb应用程序的任何建议、最佳实践或重要提示?我在不同地方读过(或认为我读过)的内容包括:一个IndexWriter,多个IndexReader当索引更新时,重置/重新初始化IndexReader在开始之前我应该​​阅读其他有用的提示或资源吗?谢谢,基隆 最佳答案 以下是我的建议(排名不分先后):选择最合适的锁定机制。使用SetRAMBufferSizeMB减少写入索引时的磁盘I/O开销。不要过度使用SetMaxBufferedDocs属性。使用搜索命中(T

c# - Lucene 返回非正分数的文件

我们最近升级了我们使用的CMS,不得不从Lucene.netV2.3.1.301到V2.9.4.1我们在最初的解决方案中使用了CustomScoreQuery,它进行了内置查询无法实现的各种过滤。(地理、多日期范围等)自从从旧版本迁移到新版本的Lucene后,它开始返回文档,即使我们检查结果时它们的分数为0甚至负数下面是用于演示问题的重构代码示例publicLuceneTest(){Lucene.Net.Store.DirectoryluceneIndexDirectory=FSDirectory.Open(newSystem.IO.DirectoryInfo(@"C:\inetpub

javascript - 使用 AngularJS 和 Highlight.js 进行动态语法高亮

我正在构建一个网站来说明常见的应用程序漏洞,例如SQL注入(inject)。我正在使用AngularJS和highlight.js来创建交互式示例。如何让AngularJS和highlight.js更新我的代码片段?例子ThisFiddle演示了如果用户的输入未经过验证或清理,在电子邮件字段中输入'OR1=1--如何改变查询的预期行为。SELECT*FROMdbo.UsersWHEREEmail='{{email}}'ANDPassword='{{password}}'当用户输入电子邮件地址和密码时,Angular会更新查询。但是,语法突出显示不会更新。SELECT*FROMdbo.U

javascript - jQuery 插件 DataTables : How to highlight the current search text?

我已经开始使用jQuery(v1.4.2)的DataTables插件(v1.6.2),我想问你是否知道一个settings或plugin允许我在过滤行上突出显示搜索文本框中使用的文本。提前致谢 最佳答案 我不得不建议highlightplugin:)我现在在大致相同的场景中使用它,到目前为止它没有给我带来任何问题。用法很简单:$("#myTable").highlight($("#searchBox").val());只需将高亮CSS类放入您想要的样式表样式即可:.highlight{background-color:yellow}

javascript - -webkit-tap-highlight-color : rgba(0, 0,0,0);在一个股利?

有什么方法可以将它应用到div上吗? 最佳答案 您在为iPhone/智能手机网站撰写文章吗?如果是这样,那么是的。但您可能只会在手机/模拟器上看到结果。我认为这个元素只能用在链接或javascript元素上。div必须受到某种脚本的影响,或者是一个链接。https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/AdjustingtheTextSize/AdjustingtheTextSi

javascript - 在 JavaScript 中通过 JSON 对象进行类似 Lucene 的搜索

我有一个相当大的JSON对象数组(它是一个具有艺术家、专辑等属性的音乐库,用loadonce=true提供一个jqgrid)我想通过整个集合实现类lucene(类谷歌)查询-但在本地,即在浏览器中,不与网络服务器通信。是否有任何JavaScript框架可以帮助我? 最佳答案 遍历您的记录,通过组合所有搜索来创建一次性索引单个字符串字段中的可用字段称为索引。将这些索引记录存储在数组中。根据索引对数组进行分区......就像一个数组中的所有a等等。使用javascript函数indexOf()根据索引匹配用户输入的查询并从分区数组中查找