Lucene 带或的Apache Solr多短语查询

我将ApacheSolr1.4与Demax一起使用,并尝试搜索以下两个短语: “电话号码” “杜威十进制” 我想匹配包含这两个短语之一的文档。如果我单独搜索这些短语,而不是一起搜索,我会得到匹配项 我尝试了如下查询: title:("call number" OR "dewey decimal") title:["call number" TO "dewey decimal"] 有什么想法吗?您是否也测试了以下查询 (title:"call number" OR title:"dewey d

Lucene.NET索引写入器锁

我的问题与下一个代码段有关: static void Main(string[] args) { Lucene.Net.Store.Directory d = FSDirectory.Open(new DirectoryInfo(/*my index path*/)); IndexWriter writer = new IndexWriter(d, new WhitespaceAnalyzer()); //Exiting without closing the in

惩罚在lucene中具有许多独特术语的文档

我的目的是找到给定城市(术语)的动物(doc) 我以这种方式为文档编制索引: doc1(bear) = [city1, city2, city2, city3..] doc2(dog) = [city1, city1, city1, city2, city2, city2, city3, city3, city3..] .. 我想惩罚出现在很多城市的(动物)文档,因此不同城市/所有城市的文档比例都很高,比如“狗” 有什么建议吗?谢谢已经有了 看 默认情况下,norm函数将较短字段上的匹配

是否可以使用文档ID更新Lucene文档?

ScoreDoc[]数组包含搜索中的所有文档ID。我想使用这些文档ID来更新单个文档。在这个特定的实例中,我无法唯一地标识我希望更新的行,因为给定的术语将导致匹配多个文档 设想一个查询,其中返回1:a、2:b和以下文档 1 2 3 4 5 6 doc 1: a b c d e f doc 2: a b g h i j doc 3: a b k l m n 我基本上对字段3和4进行了更新,但希望保留5和6不变 目前我可以抓取这些行,进行我想要的更新,但我无法找到在索引中更新它们的方

Lucene ElasticSearch匹配多个字段、不同坡度

我有一个多匹配查询。有两个字段,我希望这两个字段的斜率都不同。 现在两者的斜率都是1,但对于bio,我希望斜率是1,对于位置,我希望斜率是2。我该怎么做 这就是我的查询现在的样子: { "query":{ "multi_match":{ "query":"San Diego", "type":"phrase", "slop":1, "fields":[ "bio","location

Lucene CDH4-带自定义分析器的Mahout seq2sparse

我是Mahout的新手,我尝试为seq2sparse编写自己的分析器。我将CDH4与默认版本一起使用:Mahout 0.7和Lucene 3.6 这是我的分析器代码: package com.analyzer; import java.io.Reader; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.LengthFilter; import org.apache.lucene.ana

更新Lucene有效载荷而不进行完全重新索引

在Lucene中,我使用有效负载在文档中存储每个令牌的信息(在我的例子中是一个浮点值)。这些有效载荷可能需要不时更新。如果我知道docID、termID、offset等,是否有任何方法可以在不必重新索引整个文档的情况下更新有效负载?我不知道有任何Lucene API支持这一点,即使引擎盖下的“更新”操作也会作为“删除”和“添加”添加操作执行 一种需要更多存储但减少IO和延迟的解决方法是将整个文档源存储在Lucene索引本身中,或者将专用数据存储在Lucene索引所在的同一节点上。然后,您仍然可以

Lucene索引文件因使用2个节点而损坏

lucene索引文件在15分钟的loadtest期间损坏:-创建包含2个节点和60个并发用户的索引。 我使用的是Lucene 3.6版本。索引是在NFS中创建的。 请让我知道lucene是否可以在多个NFS节点上创建索引 错误异常为org.apache.lucene.lockGetainFailedException:Lock-Get超时 问候,, Bhavin您不能同时使用两个(或更多)写入程序来更新Lucene索引。 Lucene不支持它 这是Lucene通过文件系统实现的方式。任何希望写入

Lucene 冒出新的记录

有可能在lucene搜索结果中出现更新的记录吗? 我想让Lucene给离今天更近的唱片打高分 谢谢 我只通过Solr使用过Lucene,但它对任意文档的支持非常好,根据 在您的情况下,我会使用以下内容: recip(rord(created_when),1,1000,500) 作为一种增强功能。我意识到这并不能回答你具体的Lucene问题,但如果你能用Solr QueryHandler做到这一点,你肯定能在Lucene应用程序中做到 我只通过Solr使用过Lucene,但它对任意文档的支持非常

Lucene 生产环境中的Katta

根据Katta,它是一种可扩展、容错、分布式、索引的数据存储 我想知道它是否准备好部署到生产环境中。有人已经在使用它并且有建议吗?有什么陷阱吗?建议?推荐书?请分享 任何答案都将不胜感激。我们已经尝试过使用katta,并且出于其价值-发现它非常稳定,相对容易管理(与管理普通香草lucene相比) 我能想到的唯一陷阱是缺乏实时更新——当我们测试它(大约9-10个月前)时,更新意味着,使用单独的过程(hadoop作业或其他什么…)更新索引并替换实时索引,这对我们来说是一个破坏者 如果您正在研究分布式

与Katta(Lucene、Hadoop)合作

有谁能给我提供一些示例Java代码,告诉我如何使用Katta在HDFS(Hadoop文件系统)中存储Lucene索引。Katta是Lucene索引的包装器。包含多个lucene索引的文件夹构成katta索引。我已经做了这么长的工作,手头没有代码 您必须在每个节点上安装katta以及Hadoop。如果你试一下,就不会那么难了。我的一位同事写了一封信。这可能对你有帮助 哈莎,很抱歉打扰你。我遵循了您同事的教程,但我很难在hadoop上正确执行命令。你有空看一下吗?或者你的同事可以为他的代码添加一些h

Lucene 标准分析器,不要将一个字符视为标点符号

我正在为一些数据编制索引,其中“@”字符应按原样处理。 我还需要标准分析器提供的所有功能(消除标点符号、尾随s等),但这也会删除@。 是否有任何地方可以指定将字符视为非标点符号?或者任何可以与whitespaceTokenizer一起使用以获得此类结果的过滤器? 我知道我应该为这样的需求编写自己的分析器,但我不想错过一些非常明显的东西 谢谢, 卡卡找到了帖子。感谢作者。将PatternTokenizerFactory与适当的过滤器一起使用。我认为,解决办法是编写自己的分析工具。标准分析仪是内置的

用java中的数据对象在数据库中存储lucene索引

这可能吗?我不能直接访问数据库——只能通过数据对象。 如果项目以类似ArrayList的方式返回,我是否能够搜索索引 如果这是不可能的,是否有某种方法可以使用Lucene(或其他工具)使用java对对象进行模糊匹配 例如,我有一个Person对象,它有FirstName和LastName。我想对名字进行模糊匹配。 那么,假设我有一个x数量的Person对象数组,是否有一种有效的方法循环遍历每个Person对象并比较名称?获取这些数据对象并在其上构建一个单独的Lucene索引,存储您需要的字段。以

Lucene 太阳黑子非指数场

Solr(通过Lucene)支持不同的方式来指示字段在文档中的索引方式:索引、标记、存储 我正在寻找一种方法,使字段存储在Solr中,但没有索引。有没有办法在太阳黑子中实现这一点?您可以尝试: 并使用xpath或regex读取具有模式属性值的字段: <str name="I">Indexed</str> <str name="T">Tokenized</str> <str name="S">Stored</str> 索引

Lucene Solr CEL/Tika输出的格式是什么?如何修复它?

我正在使用Solr索引DOC、DOCX和PDF文件。我为文本启用了存储,并将其签出。以下是示例文档文件的结果: ,一家位于剑桥的移动用户界面(UI)软件开发公司, 英国。整合公司后,高通公司重新为其界面打上了品牌 标记语言及其伴随的集成开发 环境(IDE)作为超链接 ”http://en.wikipedia.org/w/index.php?title=UiOne&action=edit&redlink=1“ *\o“UiOne(页面不存在)”UiOne**。2009年3月,高通公司 通知他们的剑

Lucene 查找两个文档之间的相似性

lucene中有没有内置的算法来查找两个文档之间的相似性? 当我使用默认的相似性类时,它会在比较查询和文档后给出结果分数 我已经为我的文档a编制了索引,使用了snowball analyzer,下一步将是查找两个文档之间的相似性 有人能提出解决办法吗 似乎没有内置的算法。我相信有三种方法可以做到这一点: a在其中一个文档上运行更像此查询。迭代结果,检查文档id并获得分数。可能不太美观,您可能需要返回大量文档,以便在返回的文档中找到您想要的文档 b余弦相似性:Mikos在评论中提供的链接上的答案解

在Lucene中使用带SpanQuery和短语查询的Analyzer?

我应该对数据进行近距离搜索。为此,我使用了PhraseQuery和panerarQuery,但我找不到一种方法让他们使用我的自定义分析器(或者任何其他分析器,就像在QueryParser的情况下一样) 有谁能在这方面指导我吗?是的,我有这样的疑问: 这个。骑士 点(.)表示术语“骑士”和“骑士”之间最多可以有一个单词,并且可以产生诸如“骑士”、“黑暗骑士”等结果 PS:如果不可能,请告诉我,这样我就不会在这个问题上花费很多时间。提前感谢。:) QueryParser有不同的语法,但如果单词不需要

Lucene 标记化器是否删除空白?

Lucene的标准标记器是否删除空格和空行?我一直在阅读API(),但没有指定它。我不知道,也许代币化者默认会这么做。是的。Lucene标记化程序从文档中获取不包含空格的可索引术语。不过,它们会在原始文档中保留标记的偏移量 这些记录在以下文件中: 在标点符号处拆分单词,删除标点符号 (空格是标点符号。)空行也被视为空格?@Kits89:yep,任何空格都是。

返回Lucene文档中字段的Top-k命中率

我有一个Lucene索引,由文档组成,每个文档都有两个字段F1和F2。我在F1上执行搜索,并收集排名前k的文档的F2。我使用IndexSearcher接口。 在我的结果中,有很多重复的F2值,我可以要求top-k超过唯一的F2值吗?在哈希集中添加F2值,然后在重复检查(使用链接)中,在结果对象中添加字段值对…这样您的结果对象就不会有重复值 @myahya您无法避免lucene索引中的重复项…因此您必须在添加到结果对象之前过滤每个文档

我正在使用Lucene的WildcardQuery执行查询,但它没有';行不通

我正在使用Lucene的WildcardQuery执行查询。但我不知道为什么找不到结果。 详情如下 下面是创建通配符查询的代码,字段名的记录:'Full Name'值:'ABC123DD456CC'是存在的索引文档 BooleanQuery booleanQuery = new BooleanQuery(); for (IndexQueryField field : quickSearchFields) { Query query = new WildcardQuery(new Term

Lucene-使用布尔查询搜索子集

我有一个带有两行的字段(如field1)的索引,一行是“shortgreg”,第二行是“greatgreg”。 如果我搜索(使用Luke):field1:g*field1:greg 结果将是两行,但分数相同! 这是因为两个单词的首字母G相同 我的期望是“great greg”,得分最高,其中G*对“great greg”的得分给予更多权重 问题是:如何编写此查询? 无论如何谢谢你,我不确定,但相同的分数可能是因为你的查询相当于: field1:g*或field1:greg 我想试试卢克: +fi

Lucene阻止某些字段高亮显示

我在使用lucene荧光笔时遇到了一些问题。我有一个记录,在我的lucene索引中包含三个字段:标题、内容和分类(cls) 当我使用“+(TITLE:test CONTENT:test)+CLS:dummy”搜索索引时,我在TITLE hits中找到了单词“dummy”,它是我的分类字段,我不想突出显示它。我如何避免这种情况 以下是我的测试代码: Directory directory = new RAMDirectory(); StandardAnalyzer analyzer

Lucene 带词干的标准分析器

有没有办法将PorterStemFilter集成到Lucene中的StandardAnalyzer中,或者我必须复制/粘贴StandardAnalyzer源代码并添加过滤器,因为StandardAnalyzer被定义为最终类。有没有更聪明的办法 也是,如果我不想考虑数字,我怎么才能做到呢? 谢谢如果您想将此组合用于英语文本分析,那么您应该使用Lucene的英语分析工具。否则,您可以创建一个新的分析器,扩展分析器包装器,如下所示 import java.io.IOException; import

elasticsearch Elasticsearch:术语频率与字段范数

我是elasticsearch的新手,我正在努力理解评分算法 据此,ES使用术语频率,即术语在文档中出现的次数的平方根。以及场长范数,即场中项数的平方根倒数 因此,基本上,如果我在映射的字段标题中搜索单词ticket,在4个单词的标题中出现1次ticket相当于在8个单词的标题中出现2次ticket 到目前为止,这并没有让我感到震惊,但根据这个公式,一张冠军票的权重,也将与一张冠军票的权重相同,而一张冠军票的权重也相同 我知道这种情况不太可能发生,但我只是想理解背后的逻辑 对我来说,术语频率应该

elasticsearch Elasticsearch:stats&;中的碎片数不一致;集群API

我将数据上传到我的单节点集群,并将索引命名为“gequest” 当我从中得到时,我得到: 当我上车的时候 为什么两份报告中的碎片总数不一致?为什么统计API中的碎片总数为10。如何跟踪其他5个?根据结果,您可能运行了一个elasticsearch节点,并创建了一个带有默认值的索引(创建了5个碎片和一个副本)。由于只有一个节点运行elasticsearch,因此无法在任何位置分配副本碎片(elasticsearch永远不会在单个节点中分配同一碎片的主碎片和副本) _cluster/stats AP

Lucene Hightlighter文本限制

关于这个问题:- 有人能告诉我,如果我要分析非常大的文档,最好的方法是什么吗 我猜MaxDocCharsToAnalyze属性可以设置为Int32.MaxValue,当前为2147483647 如果我需要分析比这更多的文本,会发生什么?嗯。。。在剥离与maxDocCharsToAnalyze相关的代码时,您总是可以重新实现该类,但我想这样做会破坏RAM。你真的需要一次突出显示一个大于2GB的文档吗?我不太确定每个字符所占的空间大小?您是否假设每个字符使用1字节的空格?

Cloudant-使用存储为文本的数字进行Lucene范围搜索

我在Cloudant中有许多文档,它们的ID字段类型为string。ID可以是一个简单的字符串,如“aaa”、“bbb”或存储为文本的数字,如“111”、“222”等。我需要能够使用上述字段进行全文搜索,但我遇到了一些问题 假设我有两个文档,ID=“aaa”和ID=“111”,然后使用查询进行搜索: 身份证号码:aaa ID:“aaa” ID:[aaa至zzz] ID:[“aaa”至“zzz”] 按预期返回第一个文档 身份证号码:111 不返回任何内容,但是 身份证号码:“111”

Lucene-查询字段中的多个术语 为简单起见,考虑两个具有以下字段和值的文档: RecordId: "12345" CreatedAt: "27/02/1992" Event: "Manchester, Dubai, Paris" Event: "Manchester, Rome, Madrid" Event: "Madrid, Sidney" RecordId: "99999" CreatedAt: "27/02/1992" Event: "Manchester, Barcelona, Rome" Event: "Rome, Paris" Event: "Milan, Barcelona"

是否可以在“事件”字段的单个实例中搜索多个术语 假设我想搜索“曼彻斯特”和“巴黎”出现在同一领域。 第二条记录包含“Manchester”和“Paris”,但在事件字段的不同实例上,这不应该是resultset的一部分 理想情况下,结果集只能是第一条记录(12345)。如何将事件索引为非标记化字段,然后使用关键字分析器对其进行分析。然后,您可以使用Lucene的匹配曼彻斯特和巴黎的事件: Event: "/^.*(Manchester).+(Paris).*$/" 将事件索引为非标记化字段,然

Lucene 6.2.1-非法国家例外;字段名";没有位置数据的索引;无法运行SpanterQuery

我对lucene不熟悉。最近我有机会参与了一项工作,他们正在从旧的lucene版本2.4.1迁移到应用程序的6.2.1 使用新版本6.2.1运行时,我们在搜索时遇到异常: 查询期间异常字段“field_name”被索引,没有位置数据;无法运行SpanTermQuery(term=2887629129)** 在代码中,字段的创建如下所示: doc.add(新字段(“字段1”,“字段值”,StringField.TYPE_存储)); 最后,我们尝试如下所示: FieldType type=newf

elasticsearch 对包含所有查询条件的文档给予更多分数

我在elasticsearch中得分有问题。当用户输入一个包含3个术语的查询时,有时一个文档包含很多两个单词,比包含所有三个单词的文档更核心。例如,如果用户输入“elasticsearch查询教程”,我希望包含所有这些单词的文档得分高于包含大量“教程”和“elasticsearch”术语的文档 PS:我在查询中使用了最小应匹配和shingls。而且他们的排名也提高了很多,他们并没有完全解决这个问题。我需要在lucene的实际评分函数中使用类似查询协调的功能。BM-25弹性材料中是否存在类似的问题

elasticsearch 如何在弹性高级Rest客户端中使用search_after进行分页

我正在使用elastic RestHighLevelClient与ES对话。我能够查询基本查询。尽管我试图使用search_after api根据前端查询设计分页api。尽管在RestLowLevelClient api中使用query_after很简单,但我不知道如何在高级api中使用它 看起来lucene api有SearchAfterSortedDocQuery,但我不知道如何将其与弹性搜索api一起使用。例如:在下面的代码中,我初始化了SearchAfterSortedDocQuery查

Lucene 自定义Solr排序

我被要求对Solr作为商业搜索引擎的替代方案进行评估 该应用程序现在有一种非常特殊的方法,可以使用一种称为“bucket”的东西对结果进行排序 我将尝试用一些细节来解释: 在界面中有两个字段:“what”和“where” 这两个字段实际上都是字段集(what=类别、姓名、联系人信息……where=国家、州、地区、城市……),因此Solr的copyfield功能立即浮现在脑海中。现在,根据生成的字段和实际匹配,结果应该在特定的存储桶中结束。特别是,第一个bucket包含在category字段上完全

Lucene SOLR和自然语言解析-我可以使用它吗? 要求

使用Solr 虽然这个问题的答案很好,但我想知道我是否可以利用我为NLP了解SOLR所花费的所有时间 我想到SOLR是因为: 它有一堆标记器,执行很多NLP 开箱即用很有用 这是一款restful分布式应用程序,因此很容易连接 我花了一些时间在这上面,所以使用它可以节省我的时间 我能用Solr吗? 虽然上面的理由很好,但我对SOLR不太了解,所以我需要知道它是否适合我的要求 理想用法 理想情况下,我希望配置SOLR,然后能够向SOLR发送一些文本,并检索索引的音调化内容 上下文 我正在开发一个更

Lucene是否总是以与SQL select查询相同的方式返回与我的查询匹配的所有文档?

我使用Lucene对存储在对象数据库中的值进行索引。我在Lucene文档中存储对象的引用UUID以及字段名及其对应的Lucene字段值 我的问题是Lucene是否总是返回与我的查询匹配的所有文档 谢谢 这取决于您使用的分析器,并且您可以在搜索时限制结果的数量 为了更好地搜索,您也可以使用。答案取决于您使用了哪些分析器进行索引。

Solr-Lucene模糊匹配返回错误结果

我正在尝试为我的应用程序测试SOLR,以查找字符串之间的百分比匹配 我配置了solr,并定义了仅用于名匹配的模式。目前,我在模式(SOLR3.3)中使用了文本通用数据类型 在我的文档/csv中,我保留了单词“rushik”,而在solr查询中,我试图用“rushk”进行搜索——故意删除了“I” 理想情况下,使用levenshtein算法,上述两个字符串之间的距离为1,因此字符串之间的匹配百分比应为(1-距离/maxLen(string1,string2)),即(1-1/6)=0.83-这意味着两

Lucene 需要从自由文本中提取信息,如位置、课程等信息

我需要为教育领域编写一个文本解析器,它可以从自由文本中提取出学院、地点、课程等信息 目前我正在通过lucene进行,步骤如下: 索引所有与学院、课程和地点相关的数据 制作自由文本的木瓦,在location、course和institute index目录中搜索每个木瓦,然后尝试找出文本的哪个部分代表location、course等 在这种方法中,我遗漏了很多像B.tech这样的案例,它们可以写成btech、B-tech或B.tech 我想知道有什么东西可以做所有这些事情,我听说过Ling pip

做Lucene';s分析器是否创建tf idf表示?

我想知道Lucene的分析器是否使用tf idf表示来构建索引 谢谢否:分析器只是将一个文档分解成一个令牌流 IndexWriter是一个分析消费者,它构建一个倒排索引,记录原始统计信息,如术语出现在文档中的次数以及包含该术语的文档数量 但这不是tf/idf表示:索引格式独立于评分模型 是的。这是计算得分(相似性)时的一个主要因素。寻找更多信息。但是,如果它默认这样做,我不明白他们为什么这样做:嗯,TF-IDF与TF-IDF权重向量不是一回事。有关tf/idf/wv的更多信息,请参见。@Kits

每行创建一个文档的JavaLucene索引和搜索示例代码

我对lucene非常陌生。我有一个文本文件,其中包含100条记录,每行两列。第一列是userid,第二列是url\u list(我想这些将是我的文档字段) 我需要提供一个使用lucene的搜索功能,它将提供包含输入的url或用户ID的文档。为此,我需要在文本文件的每行创建一个lucene文档 请为我推荐一些示例代码 我正在使用lucene 3.6.2版这是一个关于lucene的简短而精彩的入门教程 台阶 1) 我假设您正在对文本文件进行预解析,以获取userid,即相应的url列表。你必须这

如何在lucene中划分索引?

我需要将一个索引随机分成两部分,以便得到一个用于训练和其他测试的索引。我该怎么做 谢谢我不太明白你除以索引的意思,但是 要创建索引的副本,只需将整个索引目录复制到新位置即可。创建副本时,请确保索引当前未被使用(即,索引上当前没有打开任何IndexReaders或IndexWriters),因为这可能会导致新副本出现锁定问题

RaveDb/Lucene-开始范围为零时价格范围查询不起作用

我正在使用RavenDb作为我们的产品目录。当我点击某个类别时,我会在该类别中看到我的5种产品,其中一种产品在0.00处列出。如果我调整我的价格范围方面,例如,我降低最高价格,最低价格保持在0,零价格的产品不再出现时,它仍然在范围内。只有当最小值范围为零时才会发生这种情况,当最小值大于零时,查询会完全按照预期工作。这是在Raven中执行的查询 {Category:(categories/1839) AND Price_Range:[Dx0 TO Dx139]} 有什么想法吗?谢谢 只是猜测,但

Lucene:single的多个文档;资源“;

我这里的模型是在线课程。每门课程都有一个id号、一个标题,并且可以有不同数量的内容文件(大型html文件)。我尝试使用以下方案在Lucene中表示它们(每一行都是一个文档): 课程:“1”,标题:“Java简介” 课程:“1”,内容:“第1章:基础…” 课程:“1”,内容:“第2章:收藏…” 课程:“2”,标题:“Java网络” 课程:“2”,内容:“第一部分:插座…” 课程:“3”,题目: 但是现在,假设我需要让Lucene给我所有的课程(只有id),标题中有“Java”,部分内容中有“c

Lucene 过滤弹性搜索点击返回的字段以提高性能。(源过滤)

索引文档,包含大约70个字段。其中一些字段的store=yes但未索引,另一些字段的store=no但已索引,其中一些字段已分析,一些字段未分析。在查询我们的.net客户端时,与ES cluster进行搜索的用户正在提取与搜索匹配的完整文档。 我们希望提高性能,但我们不需要文档的所有字段indexedfield根据查询的不同而有所不同,这些字段作为视图列传递 在查询级别上,Jason query body执行此筛选的最佳方法Source筛选可能不确定,谷歌搜索过,但文档非常不成熟。如何在查询中指

Lucene 不保存数据的弹性搜索引擎

Elastic/Lucene真的需要在文档中存储所有索引数据吗?难道你不能通过传递数据让每个文档都有一个单独的字段,其中包含返回每个文档来源的URL(或者任何对你有意义的指针) 一个简单的例子可能是为维基百科.org编制索引。如果我将每个网页传递给Elastic/Lucene进行索引-如果Lucene对每个网页进行索引,并且有一个相应的URL字段用于回复搜索,为什么我需要将每个网页的主文本保存在一个字段中 我们向云支付了这么多钱来存储这么多冗余数据——我只是想知道为什么Lucene是从它的哈希表

完全替换现有Lucene索引的好做法是什么?

我们使用Lucene作为搜索引擎。我们的Lucene索引由主服务器创建,然后部署到从属实例 此部署当前由删除文件并复制新文件的脚本完成 我们需要知道是否有良好的实践来“热部署”Lucene索引。我们需要停止还是暂停Lucene?我们需要通知Lucene索引已更改吗 谢谢第一步是在追加模式下打开索引进行写入。您可以通过使用名为IndexWriterConfig.OpenMode.CREATE_或_APPEND的开放模式调用IndexWriter来实现这一点 完成后,您就可以更新现有文档和添加新文档

使用Lucene搜索数字和字符

我正在想办法让Lucene做我需要的事。我们通过立法指南进行搜索,需要查找“立法第9.8.1段”等搜索短语的结果。这将返回与该字符串匹配的任何内容。StandardAnalyzer存在一个问题,因为如果实际文本是“立法段落9.8.1.”或“立法段落9.8.1(a)”,它不会返回结果。我正在尝试非常简单的查询,如: bodyText: "legislation paragraph 9.8.1*" 及 我的问题是: 1) Lucene如何理解如下查询 bodyText: "legislation

按id删除lucene文档

如何从Lucene索引中删除单个文档? 没有方法deleteDocument(intDocID),我也找不到一个基于docId只选择一个文档的查询 使用Lucene 4.10.3 谢谢您将永远不会在公共api中看到docId(int),因为docId可以随着每次提交(和合并…)而更改。 所以你必须使用 在solr中,您可以但在内部,这与删除文档(新术语(“id”,id))相同。您将永远不会在公共api中看到docId(int),因为docId可以随着每次提交(和合并…)而更改。 所以你必须使用

alfresco中的Lucene查询仅用于精确属性匹配

我正在使用下面的查询来搜索文档。 我的第一个问题是= TYPE:"hr:hrdoctype" AND @cm\:name:"E1" TYPE:"hr:hrdoctype" AND @cm\:name:"E2" 我的第二个问题是= TYPE:"hr:hrdoctype" AND @cm\:name:"E1" TYPE:"hr:hrdoctype" AND @cm\:name:"E2" 这里给出了正确的结果 但有一个问题,如果我使用 TYPE:"hr:hrdoctype" AND @cm\:

lucene中用于长值的TermRangeQuery

我正在使用lucene8,并试图对历元值(即正在索引的文档的时间戳)执行范围查询。然而,我已经看到lucene 8只支持术语范围查询,它采用参数bytesref而不是long。有人能告诉我,是否有任何替代方案需要长时间作为输入值并执行范围查询,或者请告诉我如何将长值转换为bytesref 下面是我的代码: Term startTerm = new Term(OFFER_END_DATE_KEY, valueOf(Instant.now())); Term endTerm = new Term

上一页 1 2 ...  39   40   41   42    43   44   45  ... 下一页 最后一页 共 78 页