Lucene的最佳替代品是什么?

它可以在Unix上运行,并将用于电子邮件搜索(Dovecot、Postfix和maildir) Lucene不是问题,我只是在分析一些替代方案。我现在能想到的是原生DBMS全文索引(MSSQL和MySQL都有实现)以及Sphinx Sphinx的优点是更容易与MySQL和PostgreSQL集成,但是Lucene的功能更丰富 这里提到了一些替代索引器: 对于简单的事情,请使用RDBMS的本机全文搜索 需要知道您在Lucene方面遇到了哪些问题,但值得一看。来自Oracle实验室的是

使用Lucene改进基于位置的搜索性能

我正在使用Lucene,使用.net创建一个求职门户。 在下面的用例中,我面临一些与性能相关的问题。 用例是: 在进行求职时,用户可以选择工作地点(例如:佐治亚州亚特兰大)并选择径向距离(例如50英里)。从Lucene返回求职结果所需的时间相当长 仅供参考,我们正在维护一个sql server 2005数据库,用于存储美国和加拿大的城市、州、经度和纬度(共包含约100万条记录) 我是否可以改进这种基于位置的工作搜索的性能?基本上,您有两种类型的搜索参数:文本和空间。 您可能可以使用一种类型来过滤

Lucene.NET查询+;突出显示

我用的是Umbraco,遇到了Lucene。我找到了很多关于Lucene的代码和文章,但我仍然无法构建一个可接受的搜索 我有许多字段可供搜索,例如“nodeName”和“bodyText” 我需要的是: 当我搜索“men shoes”时,它应该只返回同时包含“men”和“shoes”的结果,还应该返回一个页面,其中nodeName只有“shoes”,bodyText只有“men” 当我搜索“鞋”时,我希望搜索结果包含“鞋”或“鞋”,但如果可能的话不要包含“锄头” 增强nodeName字段 获取

lucene.net-如何非常频繁地更新索引?

我有一个Azure WebJob,其队列接收要处理的项目。每秒可以处理许多项。队列同时处理大约20个项目 我想用Lucene.net索引这些项目 启动IndexWriter、调用Optimize()并在每个到达队列的项目上处理它会花费太多时间。我觉得我做错了 我希望这些物品能尽快准备好进行搜索 多线程使用一个IndexWriter可以吗 我是否需要调用Optimize(),或者永远不要调用它,或者在每天运行一次的单独进程上调用它(例如),这样可以吗 如果我只有一个IndexWriter并且从不处

Lucene短语匹配,结尾带有通配符

我正在尝试做一个预测性文本搜索,允许用户开始输入,然后从他们的文本中得到结果 例如,使用“ca”,他们可以获得 “帽子里的猫”, “我的微积分很酷” “猫狗老鼠” 然而,如果一个人继续用空格打字,我希望整个短语被视为一个术语 例如,“我的猫”应该找到 “帽子里的猫” 但不是“猫狗老鼠”或“我的演算很酷” 这是我当前的代码,但它似乎并不像我希望的那样工作: val mySort = new Sort(SortField.FIELD_SCORE, new SortField("popularity"

Sitecore Lucene搜索-跳过html标记

我通过以下方式创建Lucene查询: BooleanQuery innerQuery=new BooleanQuery(); multifiedqueryparser queryParser=新的multifiedqueryparser(fields.ToArray(),this.SearchIndex.Analyzer); queryParser.SetDefaultOperator(queryParser.Operator.AND); Query Query=queryParser.Pars

如何在Lucene 5中获得跨度术语查询的匹配跨度?

在Lucene中,要获得术语周围的单词,建议使用Span查询。有很好的穿行 应该使用getSpans()方法访问这些跨距 然后在Lucene 4中,API发生了变化,getSpans()方法变得更加复杂,最后,在最新的Lucene发行版(5.3.0)中,此方法被删除(显然移动到了SpanWeight类) 那么,当前使用哪种方法来访问与span-term查询匹配的span?方法如下 LeafReader pseudoAtomicReader = SlowCompositeReaderWrapper

Lucene StringField.TYPE\u的用途是什么

我试图了解Lucene提供的不同字段选项,据我所知,Lucene将提供以下字段选项 TextField.TYPE_STORED - Analyzed & stored TextField.TYPE_NOT_STORED - Analyzed & Not stored StringField.TYPE_STORED - Not Analyzed & stored StringField.TYPE_NOT_STORED - NOT Analyzed & NOT sto

结合Lucene';带FuzzyQuery的通配符查询

使用Lucene.Net 2.4.0,是否有某种内置的支持,用于连接针对同一索引的两个不同查询的结果,类似于通过单个查询针对两个或多个索引的支持 我正在寻找支持尾随通配符和模糊搜索的方法,而无需强制 用户可以选择其中一个。我可以通过执行通配符查询和 按顺序进行模糊搜索,然后手动合并两个结果并按单个文档的分数排序,希望它们的相对分数有意义 还有别的办法吗 澄清一下:像“apoca”和“appockalypze”这样的查询应该都能在 “现在启示录”,考虑到索引中存在这样一个文档,并且将模糊度从0.5

Lucene 如何在SOLR中处理搜索词连接

我们目前正在将产品搜索从mysql替换为SOLR后端。我们的客户经常搜索诸如“星际旅行在线”、“星球大战”、“红钢”甚至“格兰德夫陶托”之类的术语。SOLR中是否有方法将这些搜索扩展或拼写检查为音节,例如“星际迷航在线”、“星球大战”、“红钢”、“侠盗猎车手”?您可以使用同义词文件。查看(solr.SynonymFilterFactory): 对于searchquery,拆分WordDelimiterFilterFactory可以部分满足您的需要,但synomymfilter可能更简单更好(

我们可以定制嵌入Solr中的Lucene吗?

我们可以像在原始Lucene中一样定制嵌入Solr中的Lucene吗?这样我们就能拥有Solr Lucene的“一切” 我问这个问题是因为我们正处于决定Solr vs Lucene的关键时刻,这样想: 论据1: “如果 我们选择Solr,Lucene是更好的选择 因此,选择……所以我们也可以 开始编写HTTP包装器,几乎 我们有一半的人在 Lucene会更安全。” 论据2: “Solr已经具备了我们需要的所有功能 想要使用,为什么不直接使用呢? 因为对Lucene负责的人都是 还负责承诺 Sol

Solr/Lucene突出显示的关键词-填充

我想要一个特定的填充,例如“…”->只在被截断的片段的开始/结束处 我还想连接2个片段,即使它们不接近,如: 。。。片段1。。。碎片2 是否有可以使用的碎片分割器/突出显示设置?我希望我正确理解了您的问题 查看 你有很多选择 您还可以指定自己的hl.simple.pre/hl.simple.post。然后您可以按自己喜欢的方式解析输出 使用定制css类给出一个span标记也是很常见的,您可以对其进行样式设置

Lucene 如何过滤/排序Solr中属于多个类别的已排序文档而不进行分组?

我正在寻找一些帮助和智慧,来帮助我正确地设计索引文档的模式。基本上,我的产品可以分为多个类别。在这些类别中,这些产品可能被排序,也可能不被排序。理想情况下,我希望每个产品只保留一个唯一的文档 我正在使用Solr 3.4.0,目前有以下结构的文档: { productId : "1", sku : "ABC123", productName : "My Product", categorySequence : ["123-1", "456-7", "789-nose

Lucene 使用JFlex/javacc为新的tokenstreamapi生成自定义标记器

我们目前正在使用Lucene 2.3.2,并希望迁移到3.4.0。我们有自己的自定义标记器,它是使用JavaCC生成的,自从我们开始使用Lucene以来就一直在使用,我们希望继续使用相同的行为。我很欣赏任何涉及从语法为新的tokenstreamapi构建标记器的资源 更新: 我在上找到了用于生成StandardTokenizer的语法。修改语法以适应我们的需求,并使用jflex生成java代码。我在上找到了用于生成标准令牌化器的语法。修改语法以适应我们的需求,并使用jflex生成java代码

如何在lucene搜索中包含其他字段?

让我们以电子邮件为例作为文档。你有你的主题,身体,来自的人,我们也可以给他们贴标签(就像gmail那样) 根据我对QueryParser的理解,我给它一个字段和解析器类型。如果用户输入文本,则用户只搜索我设置的内容。我注意到,如果我写了fieldName:text来搜索,它会在subject或body字段中查找,但是如何使用subject中的一些字符串,以及body中的其他字符串进行常规查询,例如“有趣的问题独角兽”查找结果?ATM因为我知道这很容易,所以我创建了一个名为ALL的字段,并将所有其

Lucene 保护某些短语以供搜索

我目前正在努力改进elasticsearch结果的角落案例。有一个特别的问题让我头疼:“谷歌+”,它被简单地简化为“谷歌”。省略特殊字符通常很好,但对于这一个,我希望有一个例外。有什么办法可以做到这一点吗 我尝试了以下设置: { "index": { "analysis": { "analyzer": { "default": { "tokenizer": "standard", "filter": [

Lucene Railo中的索引查询

我去了网络管理员>服务>搜索 我手动创建一个集合,其中包含: 名称“Artioli” 路径(假路径,例如/tmp) 意大利语 然后在我的索引器模板中: <cfquery name="qry"> SELECT * FROM articoli </cfquery> <cfindex action="update" collection="articoli" key="artid" type="cust

如何根据Lucene中的TermPosition获取术语?

我的问题是,使用termposx,如何根据termposx数组获取术语?Zincup:termposx有{7,19,34}。8点或9点的术语是什么?如何访问它 TermPositionVector.getTermPositions()返回找到术语的位置数组。 术语由其编号出现在从indexOf方法获得的术语字符串数组中的索引标识 所以在{7,19,34}的多个位置出现的是同一个项 使用TermPositionVector,您可以访问“找到每个术语的位置”,但不能以其他方式访问 恐怕,你必须迭代才

lucene维基百科查询

我正在使用lucene从wiki dump中查询并获取类别。因此,我得到了相关的文档,对于每个文档,我调用下面的函数 static List<String> getCategories(Document document) throws IOException { List<String> categories = new ArrayList<String>(); String text = document.get("text");

单词lucene索引限制?

我有一个基于Lucene的应用程序,这显然是一个问题。 当索引文档的数量较低时,不会出现任何问题。当文档数量增加时,似乎没有单个单词在索引。我们得到的结果是,使用单个单词(单个术语)进行搜索是一个空集。 Lucene在64位机器上的版本为3.1,索引为10GB 你知道吗 多亏了根据,Lucene应该能够处理2740亿个不同的条款。我不相信您在10GB索引中达到了该限制 没有更多的信息,很难进一步提供帮助。但是,由于您只看到大量文档的问题,我怀疑您遇到了某种形式的异常情况,导致系统无法正确读取或响

Lucene 基于索引的MaxOpenFiles X碎片X副本X文档 问题

目前我有一个elasticsearch集群,它的文件描述符已经用完了,查看elasticsearch设置文档页面,我发现建议将机器上的文件描述符数量设置为32K甚至64K,并在搜索结果上挖掘一些人将此限制设置为更高的阈值(128K或无限) 我遇到的一个例外是,文件描述符的使用非常普遍: Caused by: org.apache.lucene.store.LockReleaseFailedException: Cannot forcefully unlock a NativeFSLock whi

lucene搜索只处理小写字母

我正在添加我的lucene文档,如下所示 final Document document = new Document(); document.add(new Field("login", user.getLogin(), Field.Store.YES, Field.Index.NO)); document.add(new Field("email", user.getEmail(), Field.Store.YES, Field.Index.ANALYZED)

带文件系统的Lucene索引

我已经创建了一个Lucene索引器,它将定期查看文件系统文件夹,读取最新文件的内容,以更新Lucene目录 问题出现了,如果我们从上面的文件夹中删除任何文件,那么上面的索引器不知道删除了哪个文件,所以可以从目录中删除相同的文件 任何人都可以告诉我如何解决这个问题。不确定您是如何在文件系统上实现轮询的,但是可以捕获删除事件(以及其他事件)

Lucene JCR-OAK查询与节点类型

我正在开发ApacheJackrabbitOak 1.3.2。 我已经创建了一个具有以下结构的节点MyNode,并保存在存储库中。 -'jcr:primaryType'=橡木:非结构化 -“名称”=“我的节点” 我还创建了一个lucene索引,根据。 但是,当我运行以下查询时,我没有得到任何结果。 从[oak:Unstructured]中选择*,其中name='myNode' 当运行以下查询时,我将在结果中获得保存的“MyNode” '从[nt:base]中选择*,其中[jcr:primaryT

Alfresco lucene查询与父项递归搜索所有子项?

我正在用PARENT做lucene搜索。但是返回给我0个结果,这不好。我的问题是这样的: TYPE:"{mymodel}exp" AND PARENT:"workspace://SpacesStore/30da316f-9d2a-4e37-a28b-89d86bff6582" AND =@myexp\:num_exp:"Exp 433" 问题是我正在搜索的节点不是父节点的直接子节点 父级不递归搜索?有没有其他方法可以搜索儿童和亚儿童?我不能使用PATH,因为我需要一个快速的响应,我知道PATH

Lucene按分数排序,然后修改日期

我的文档中有三个字段 头衔 内容 修改日期 因此,当我搜索一个术语时,它是根据得分排序的结果给出的 现在,我想根据modifiedDate对相同分数的结果进行进一步排序,即在顶部显示具有相同分数的最新文档 我试着按分数排序,修改日期,但不起作用。谁能给我指出正确的方向 您可以使用自定义收集器来解决此问题。它将按分数,然后按时间戳对结果进行排序。在此收集器中,您应该检索时间戳值以进行第二次排序。见下面的课程 公共类CustomCollector扩展了TopDocsCollector{ 记分单和时间

Lucene问题在连字符字段中搜索

我和Lucene之间有些问题让我发疯。我有以下字段: doc.Add(new Field("cataloguenumber", i.CatalogueNumber.ToLower(), Field.Store.YES, Field.Index.ANALYZED)); 它将包含一个目录号,看起来像这样: DF-GH5 DF-FJ4 狗 AC-DP AC-123 AC-DOCO i、 e.两个字符后跟连字符,后跟2-5个字母数字字符 我正在尝试运行布尔查询,以允许用户搜索数据: // spec

Lucene Query.java不';你不再支持clone()方法了吗?

我们使用Query.clone()方法获取原始查询的克隆,并在克隆的查询中重写重写方法 现在我发现查询类不再是可克隆的。知道为什么要进行更改,以及现在完成克隆操作的更好方法是什么吗?如5.4中的弃用警告所述,clone仅用于更改提升,因此它与setBoost和getBoost一起被删除。在Lucene 5.4中,所有三个都被弃用,在6.0中被删除,或者为了使查询不可变(BoostQuery现在由BoostQuery处理)。有关详细讨论,请参阅 不过,我有点困惑。您声称您正在获取查询的克隆,然后在

Lucene 在非索引文档/字符串中查找索引术语

抱歉,如果我在这里使用了错误的术语,我是Lucene的新手:D 假设我已经用Lucene索引了英文维基百科的所有标题 假设我正在访问一个新闻网站。在本文中,我希望将所有短语(与维基百科中的标题匹配)转换为指向维基百科页面的链接 澄清一下:我不想将新闻文章放入Lucene索引,而是使用索引的WP标题在给定字符串(文章)中查找匹配项。我们也不想为JS/HTML的东西操心,现在只关注Lucene 我还希望匹配贪婪:即,如果文本包含“堆栈溢出”,我希望链接到SO,而不是“堆栈”和“溢出”。但如果我也能得

Lucene Solr/Solrj:如何确定索引中的文档总数?

如何使用Solrj确定Solr索引中的文档总数 经过几个小时的搜索,我终于找到了答案(见下文);我只是发布这个问题,以便其他人可以更轻松地找到解决方案。以下是我使用的内容。这是正典吗?有更好的办法吗 SolrQuery q = new SolrQuery("*:*"); q.setRows(0); // don't actually request any data return server.query(q).getResults().getNumFound();

为什么我的Lucene.net搜索在搜索查询中对多个单词执行模糊搜索时失败?

在我的应用程序中,我有一个公司,其名称字段是一个测试,它被Lucene.Net正确地索引。作为参考,我的MultiFieldQueryParser的默认运算符设置为QueryParser.operator.AND 搜索此测试~和此tst~时,我的搜索通过。但是,当我尝试搜索此~test~、thas~test~、thas test~和其他变体时,搜索失败 这样做的全部目的是允许用户将他们的搜索拼错一点,因此,如果用户搜索Jon Doe,它仍然会显示John Doe的结果,使用户无法记住他们在数据库

Lucene 爪哇突然死亡

当调用writer.optimize()时,我遇到了这个错误,因为我发现了所有的异常,但没有希望。writer是apache lucene Indexwriter的一个实例,在优化Indexwriter时tomcat崩溃。我试图为大量文件编制索引,但当文件数增加时,它会导致tomcat失败 logger.info("Optimizing optimazing..."); this.writer.optimize(); logger.info("

Lucene 是否基于多个字段和另一个字段的值进行前缀查询?

我正在与lucene一起开发一个自动完成的解决方案。我是否需要每次为要搜索的每个字段调用PrefixQuery?另外,如果我只想根据另一个文件的ID搜索一小部分项目,该怎么办 例如:假设我有一个已编制索引的用户列表。这些用户属于特定的项目。我只想在projectId 1上搜索PrefixQuery用户。假设您的架构有projectId和name字段,您将查询与查询匹配的文档用户: +projectid:1 +name:prefix* 其中1是projectid,prefix是要搜索的名称前缀

如何使用Lucene查找行号或页码

有人能帮我吗 对于我的项目,我使用lucene为文件编制索引。它只给我文件名和位置,没有提到行号和页码 Lucene是否可以找到行号或页码?请帮我怎么做 这篇文章最后太长,无法发表评论,所以我只是做了一个回答 您是否在考虑grep(*nix工具)输出,即grep一组文档并获得一个包含行号和文本匹配项的结果集?例如: 46: I saw the brown fox jumping over the lazy dog 如果是这样,Lucene就不会那样工作了。在操作系统上,为了简化,grep连续打

如何提取lucene查询的可重复部分?

我有4个字段,docContent、visibility、docOwner和docType。我想获取所有docType:ProfileDocument,但可见性为1的文档除外。但是每个文档的所有者都可以说他的文档具有可见性:1可以从搜索结果中返回。下面的查询搜索asd,返回与术语匹配的所有文档,其可见性不为1,docOwner:390除外。查询正常,但重复两次docType:ProfileDocument。如何重构查询,以便只显示一次docType:ProfileDocument docCont

Lucene play framework 2的搜索模块

我目前正在探索Play framework 2,我必须说我印象深刻! 只有一件事我暂时不能动脑 这就是搜索实现 目前我发现: 但两者都是第一场比赛 他们在游戏2中工作吗 我来自Spring和Seam世界,在那里Hibernate搜索非常普遍。 是否有一个实现?你怎么玩两个人 您的搜索功能?好的,Play 2.0中没有任何用于全文搜索的核心模块 GitHub上有一个项目将ElasticSearch与Play 1.x结合在一起: 在Play 2.0上的每个Ebean操作之后,还有一个如何更新ES的示

Lucene 在ElasticSearch中,删除的停止词对得分的影响仍然很小

基本匹配查询:Billy Sue 测试匹配查询#1:Billy Sue和 测试匹配查询#2:比利和苏 我们最终得到的分数在Base和#1之间相同,但Base和#2的分数相似但不同 使用analyze API,两个测试查询上的停止字和都会被删除,但是基本查询和测试查询2之间的Sue的开始偏移量和结束偏移量标记属性不同 本质上,记录剩余标记之间的停止前单词移除距离,并且对评分的影响很小但有限 问题 有没有办法延迟计算令牌的开始偏移量和结束偏移量属性,直到删除停止字之后,或者以其他方式防止删除的停止字

带TopCoreDocCollector的Lucene分页

我对Lucene有这样的代码。有人能提供一个关于如何使用Lucene进行分页的示例或提示吗 Query q = queryParser.parse(useQuery); TopScoreDocCollector collector = TopScoreDocCollector.create(maxReturn, true); searcher.search(q, collector); 谢谢。您可以使用获取代表特定结果页面的TopDocs。请记住,start参数表示其中应该启动多少文档

Lucene Neo4J 1.9.1的替代索引提供程序

我正在我的应用程序中使用Lucene 4,不想更改此设置。我试图将捆绑Lucene 3.5的Neo4J集成为一个IndexProvider实现,即Neo4J-Lucene索引 不幸的是,neo4j-lucene索引不起作用,并且由于排除了这种依赖关系,应用程序在启动时会无限期地挂起。我尝试过neo4j-lucene4-index,但它似乎没有得到很好的维护,需要进行重大更新才能使用neo4j 1.9.1。这些变化远远超出了我对Neo4J内部的理解 然而,我可以看到IndexProviders是可

Lucene 弹性搜索聚合

如果产品颜色不同,有没有办法只退回一种产品。 e、 g.假设我有一个具有以下属性的产品: brand,color,title nike, red, air max nike, blue, air max 现在我想创建一个弹性搜索查询,在聚合时只返回一个产品,但将其计算为属于nike品牌的两个产品 { "query" : { "match_all" : {} }, "aggs" : { "brand" : { "

当查询较长时,如何提高Lucene的性能?

我一直在使用Lucene构建POI搜索和地理编码系统。经过测试,我发现当查询长度超过10个术语时。搜索速度太慢,接近1秒。我认为瓶颈在于我使用或生成布尔查询。它将获得大量的候选人文件。而且它也会消耗太多的时间来得分和排名 我改为使用和生成布尔查询。但这会降低命中的准确性。因此,我想找到一个解决方案来减少候选文档,并且在这种情况下不会降低准确性 谢谢你的帮助 如果您可以将查询表示为过滤器,那么可以通过将过滤器包装在CachingFilterWrapper中来缓存它,并在搜索中重用相同的实例 我们遇

elasticsearch Elasticsearch日期范围过滤器更改分数

使用下面的查询,删除必须返回与使用范围相同的一些项目,但分数和排名不同。就好像日期过滤器正在改变分数。我不希望这样,我只希望过滤器限制返回的内容,而不是对它们重新排序 是否有一种不影响分数或排名的按日期筛选的方法 { "size": 10, "query": { "bool": { "should": [{ "terms": { "title": ["surface",

基于javaapi的Lucene图像搜索

嗨,我正在尝试在图像上实现Lucene搜索。我找到了一些文章,但没有找到。任何人都可以建议如何在Lucene上存储图像,并能够使用Lucene java API进行搜索。您手头有什么?只有图像或具有一些元数据(如标记、标题、描述等)的图像。如果您有文本库元数据,那么您的生活将很轻松,如果您需要按图像数据(颜色、纹理、特征)搜索图像,您可以签出LIRE() 对于更高级的图像搜索,您应该有一些离线系统,您可以在其中预处理图像,生成与图像标签、标题等相关的数据,并为这些数据编制索引以进行搜索。对于预处

Lucene 增加Highlighter返回的文本的长度

起初,我认为setMaxDocCharsToAnalyze(int)会增加输出长度,但事实并非如此 目前,我的搜索(stringfragment)生成的输出少于一行,因此作为预览没有任何意义 是否可以通过某种机制将getBestFragment()生成的输出增加到至少一句或更多(一句半或更多并不重要,但我需要足够长,至少有一定的意义) 索引: Document Document=新文档(); 添加(新的TextField(FIELD_CONTENT,CONTENT,FIELD.Store.YES

Lucene Hibernate搜索-自然语言搜索

我想知道我们是否可以使用Hibernate搜索对给定的术语进行全文搜索,并返回对特定数量值进行分析的结果 i、 e术语可以是“显示100以下的所有交易”和“显示昨天的所有交易” 任何方向都将不胜感激。Hibernate搜索本身不提供此类功能。不过,您可以使用一些自然语言查询处理器来创建Lucene查询 但鉴于您的查询示例,我不确定全文搜索是否是您想要的。当我们说Hibernate搜索是关于“全文”搜索时,我们的意思是它允许在大量文本文档(例如书籍)中进行微调查询。“全文”搜索与自然语言分析无关

Lucene Hibernate搜索5.2+;facet字段的编程配置

在HibernateSearch5.2之前,没有必要显式使用@Facet注释。在5.2中,为了使用Lucene的原生刻面API,这变得非常必要 我在无法注释的外部类上使用Hibernate搜索。有没有办法以编程方式定义这个“方面” 对于映射配置,没有问题,因为SearchMapping提供了@Entity、@Indexed和@Field注释的完整编程替代方案。但是在这个API中,特别是在EntityMapping类中,没有办法定义一个字段将在方面查询中使用;除了用@Facet注释字段外,没有其他

上一页 1 2 ...  12   13   14   15    16   17   18  ... 下一页 最后一页 共 78 页