草庐IT

lucene_X_X_X

全部标签

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 - 在 JavaScript 中通过 JSON 对象进行类似 Lucene 的搜索

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

php - 在 lucene 中存储用户数据或查询 rdbms?

我正在与lucene作斗争,不确定如何做更好:我有用户的个人资料数据-其中一些(3-4个字段)存储在lucene中。但在查询结果上我还需要显示用户的年龄/姓名/等。我认为在lucene中保存所有这些字段(附加的,不参与搜索过程)是不合理的,但是查询rdmbs将花费一些时间,所以我的问题是如何做更好?谢谢。 最佳答案 使用lucene为所有个人资料字段编制索引可为最终用户提供更好的搜索体验,因为它将搜索所有字段并进行适当的排名。在RDBMS中,我不知道如何对多列和排名进行全文搜索。在这种情况下,我总是更喜欢Lucene。您还需要将索引

php - Zend_Search_Lucene 的替代品?

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion我想知道是否有任何其他库或模块可以替代Zend_Search_Lucene。

php - 如何提高 Zend Lucene 的性能?

我目前正在努力加快我的ZendLucene指数。它包含大约1M的文档。在某些情况下,搜索它最多需要0.4秒。这是NotAcceptable。我希望它最多能在0.1秒内返回结果。该文档不包含有关引擎性能问题的任何信息,只是说该引擎具有良好的可扩展性。我唯一学到的是使用optimize()方法的可能性。但这还不够。因此,我有两个问题:添加到每一行(文档)的字段顺序是否重要(就性能而言)?我可以使用任何其他参数来加快速度吗?也许它可能是一些用于索引的参数或一些服务器设置(更多内存等) 最佳答案 我建议转向真正的Lucene(或Solr)以

php - Zend_Search_Lucene 范围查询错误

我已经为每个文档设置了一个日期字段。(关键字)其中存储的值采用这种格式;20100511每次尝试执行范围查询时,我都会收到以下错误:date:[10000000TO20000000]Atleastonerangequeryboundarytermmustbenon-emptyterm有人知道吗?更新我已经让它以编程方式工作。这是否意味着解析器有问题?$from=newZend_Search_Lucene_Index_Term('10000000','dateOfBirthMod');$to=newZend_Search_Lucene_Index_Term('20000000','dat

ElasticSearch分片与Lucene Index

        在ES中一个索引有一个或者多个分片构成,在创建索引的时候可以设置主分片和副本分片的数量,当主分片确定之后就不可以再修改了(因为路由需要基于这个数量来分发请求),而副本分片数量随时可以修改PUT/myIndex{"settings":{"number_of_shards":2,//该索引有2个分片"number_of_replicas":1//每个分片都有一个副本}}        这里我假设说是建立了两个节点,就是起了两个ES服务,shard1跟shard2就是创建的两个主分片,replica1和replica2就是两个副本分片,一般为了实现高可用,ES会将主分片和副本分片保存

php - Zend Search Lucene 数值范围搜索

我很难确定我对ZendSearchLucene如何在范围内索引和搜索整数的误解。在下面的示例中,我希望输出为1,但它始终为2(两个结果)。任何提示将不胜感激。addField(Zend_Search_Lucene_Field::Text('foo','Hello'));$doc->addField(Zend_Search_Lucene_Field::Keyword('bar',100));$search->addDocument($doc);$doc=newZend_Search_Lucene_Document();$doc->addField(Zend_Search_Lucene_F

php - 注意: undefined offset :在第641行的/my/Zend/ib/Search/Lucene/Index/SegmentInfo.php中

我在使用zendsearch-lucene框架编制索引时遇到问题。我们的文件存储库有大约25000个文件,我正试图为它们建立索引。但在批索引过程中,出现了以下错误:Notice:Undefinedoffset:2047in/my/Zend/lib/Search/Lucene/Index/SegmentInfo.phponline641Notice:Tryingtogetpropertyofnon-objectin/my/Zend/lib/Search/Lucene/Index/SegmentMerger.phponline202Fatalerror:Uncaughtexception'