使用标准分析器在Lucene中获得精确匹配?

给出2份文件,内容如下 “我爱Lucene” “Lucene很好” 我希望能够查询lucene,只查询开始时带有lucene的文档,即所有与regexp“^lucene.*”匹配的文档 如果我不能更改索引,并且使用标准分析仪对其进行分析,是否有办法做到这一点 当然可以,看看SpanFirstQuery。以下是一个很好的教程:

在Lucene中,设置DefaultFieldSortCoring的目的是什么?

排序时,排序规则适用于所有返回的文档。所以分数不被考虑在内。那么什么时候可以使用SetDefaultFieldSortScoring在排序时打开评分?这允许您强制lucene计算结果的分数,即使它们不会按分数排序。这样您可以显示分数。或者强调更相关的结果

lucene,获取文档中一组术语偏移量的有效方法

假设我为一组文档编制了索引,现在我得到了一组通过索引过程生成的术语。我想得到这些术语的出现情况,即,哪个文档,什么偏移。对于每个术语,我都使用一个postingnums来完成这项工作,该postingnums允许我遍历一个术语出现在其中的一组文档;然后在每个文档中,一个postingenums获取文档向量,该向量包含该文档中该术语的偏移量信息 但这并不是很有效,因为在循环中有一个循环,可以走得很慢。代码如下。如果可以更好地做到这一点,有什么建议吗 字段架构: <field name="te

Lucene索引:解释存储和索引模式

我想我还不了解lucene索引选项 以下选项是 Store.是 Store.No 及 Index.Tokenized Index.Un_标记化 Index.No 索引。无规范 我真的不明白商店的选择。为什么不存储字段? 标记化是对内容进行拆分并删除干扰词/分隔符(如“and”、“or”等) 我不知道什么是规范。 如何存储标记化值? 如果我在“fieldName”中存储值“my string”,会发生什么? 为什么没有一个查询 fieldName:my string 退货吗?Store.

使用Lucene的利弊';s多搜索类

我正在为.net web应用程序使用Lucene搜索API。 我能知道使用MultiSearcher的利弊吗?在什么情况下我应该使用它 谢谢你的阅读 多搜索器的主要缺点是,将多个搜索器的结果合并到一组点击中会有一些开销。这类似于对未优化索引的惩罚,尽管可能不会那么严重,这取决于涉及多少搜索者 然而,MultiSearcher在您有大量文档或需要频繁更新时非常有用。如果您有一个庞大的数据库,它允许您将文档分成多个组,在不同的计算机上并行编制索引,然后一起搜索。如果您需要频繁更新,您可能会发现一个M

Lucene 向查询添加模糊性

在Lucene中,有没有一种简单的方法可以为用户输入的搜索查询添加模糊级别 如果可能的话,我想避免解析他们输入的文本 目前,如果他们输入绿色框,我会使用带有boost的多字段查询解析器,它可以轻松生成以下内容,例如: +(title:green^10 title:boxes^10) +(category:green^3 category:boxes^3) 然后我要做的是将其转换为: +(title:green^10~0.7 title:boxes^10~0.7) +(category:gree

Lucene 提高Solr性能

我部署了一个5分片基础架构,其中: shard1有3124422个文档 shard2有920414个文档 shard3有602772个文档 shard4有2083492个文档 shard5有11915639个文档 索引总大小:100GB 操作系统是Linux x86_64 Fedora release 8,vMem等于7872420,我使用来自Solr的Jetty运行服务器示例下载: java-Xmx3024M-Dsolr.solr.home=multicore-jarstart.jar 查询的

lucene 3.03的好教程?

我在谷歌得到的只是lucene小于3.0的教程。 我想使用索引和搜索“文件”。不是“记忆中” 等同于3.0或在3.0以上的版本中 试试。我用了这个: 这似乎是一个很好的指南,我的工作方式通过

Lucene多语言文本字段

我已经研究了这个问题,它证实了我的一些怀疑 我有一个实体,其中有许多我希望索引的字段。其中一个字段可以是几种语言中的一种,我需要为每种语言使用不同的分析器 我最好将其实现为同一索引中的不同字段,还是每种语言的不同索引 我猜想,折衷是在运行多个索引的开销和将单个索引弄得杂乱无章之间进行的 感谢您的建议。还有一个您没有提到的想法:您可以将每种语言设置为非存储、非索引字段。然后,您可以将所有(分析的)数据复制到单个存储+索引字段,它的行为就像您在搜索单个字段一样。(这类似于Solr的“复制字段”——我

Playframework+;Lucene:如何搜索部分单词?

我正在尝试在我的应用程序中启用部分单词搜索。我希望发生的是,如果有人搜索sayframework,并且索引列中有“playframework”作为一个项目,那么它应该被检测为命中 以下是我尝试过的: play.modules.search.Query q=search.search(“索引:”+JavaExtensions.noAccents(by).toLowerCase()+“*”,Location.class) 但我有一个错误: 无法分析“索引:*框架*:”*“或“?”不允许作为通配符查询

并在Lucene/Hibernate搜索中搜索子对象

在我的web应用程序中,用户的能力数据可以存储为0-5级。使用Hibernate搜索(构建在Lucene之上),我希望构造一个查询,找到所有能力X最低排名为a的用户,例如排名为3的Java。此外,我希望在结果中提高排名,将排名4的用户放在排名3的用户之前。我觉得这应该是可能的,但我不知道如何组合子对象中的字段。我的数据结构如下(简化): 用户类 @Entity @Table(schema = "COMPETENCE", name = "users") @Indexed public class

Lucene:如何获得查询和文本之间的相似性

我对一篇文章有很多疑问。例如“北美”、“欧洲”、“亚洲”(查询)和一个文本(例如关于美国的大文本(例如维基百科文章)) 现在,我构建了一个大文本索引,然后发送上述查询。现在Lucene(版本4)计算一个分数。但正如我通过不同的搜索所知道的,这并不是真正的百分比,查询和文本之间也没有真正的相似性。 使用TFIDF,我的分数很低(90% “欧洲”、“亚洲”==>40% …或者别的什么,但这应该是一个真正的相似之处 我能做什么?有人有什么想法吗?Lucene评分不是用来表示百分比的,也不能有效地将其标

Lucene 获取elasticsearch查询中的所有匹配面

是否有方法在elasticsearch查询中获取所有匹配的方面。根据此处给出的链接: 可以得到N个大小的刻面。但是如果我想得到所有匹配的方面呢 我尝试在facet查询中指定“size:0”,但似乎不起作用 这是我的示例ES查询 query: { .. } facets: { company: { terms: { field: "company" size: N } } } 简而言之。你不能

如何使用hibernate lucene搜索具有多对一关系的实体

我正在使用Hibernate lucene进行搜索。现在我想搜索一个具有多对一关系的实体 我有两个类,一个是目录库,另一个是主题,这里的主题有一个多对一的关系(它是单边关系) CatalogeBase.java类: @索引 @JsonAutoDetect @实体 @表(name=“catalotebase”) 公共类CatalogeBase扩展BaseObject实现可序列化{ //一些实体 // ... 私人主体; //setter和get方法 // ... @字段(index=index.Y

Lucene搜索跳过一些结果

我正在尝试构建一个应用程序,在Lucene索引上实现一个搜索系统。现在索引已经建立,我可以在索引上搜索文档,一切似乎都很正常,但是,当我使用许多文档中使用的字段进行搜索时,分析器只返回一些文档。我试着使用Luke进行同样的搜索,并且表现出同样的方式 i、 e:我的索引有两个字段: 字段A:唯一的标识符。 字段B:字符串 第一个示例: 我们有5份文件: 文件1:FieldA:1;FieldB:你好,世界 文件2:FieldA:2;世界你好 文件3:FieldA:3;FieldB:你好,世界 文件4

lucene 4.5中的syns2index是什么?

在Lucene3中,它支持wordnet的索引。 但是在Lucene4中,似乎没有关于如何索引wordnet的例子(wordnet\u prolog\wn\u s.pl) 有人知道lucene 4.5中Syns2Index的等价物是什么吗 谢谢我认为对于Syns2Index没有任何直接的替代方案,因为整个contrib/wordnet已经随着Lucene 3.4的发布而停止。但是他们似乎已经将Syns2Index的一些功能合并到了,我不知道这些合并是否在lucene 4.5中进行。是官方的变更日

Lucene 与ElasticSearch中的字符串相比,按整数过滤是否明显更快?

我的应用程序中有3个项目原型,武器,盔甲,杂项 目前,用户一次只能搜索一个类别。因此,我想知道是否应该将原型索引为整数(0、1、2),或者字符串“武器”,“盔甲”,“杂项” 我使用的是布尔查询。按整数、字符串过滤会更快,还是几乎没有差别?没有差别 确保它实际上是您使用的过滤器。然后它将被缓存为位图,并且在以后的使用中同样快 谢谢。问题是,如果我记得正确,过滤器对方面没有影响,并且我会显示错误的计数。在搜索对象上使用filtered查询,而不是filter,在1.0中重命名为post\u filt

lucene更新的文档无效

我正在使用Lucene 3.6。我想知道为什么更新不起作用。有什么问题吗 public class TokenTest { private static String IndexPath = "D:\\update\\index"; private static Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_33); public static void main(String[] args) thro

Lucene boost区分大小写匹配

我们的客户在其网站上使用了一些首字母缩略词 例如,假设STACK是他们使用的首字母缩略词 当他们搜索“STACK”(关键字)时,他们希望完全匹配“STACK”(大写)的文档位于搜索结果的顶部,而不是匹配“STACK”小写的文档 有没有办法做到这一点?也许通过某种方式 目前我正在使用StandardAnalyzer。来自文档: 公共最终类StandardAnalyzer扩展了StopwordAnalyzerBase 使用StandardFilter、LowerCaseFilter和 StopFil

Alfresco将v4.1.2升级到v4.2.2.12-无法重建Lucene完整索引

我在户外从v4.1.2升级到了v4.2.2.12。因此,首先我从v4.1.2升级到v4.1.9.4(以应用最后一个补丁),然后从v4.1.9.4升级到v.4.2.2.12。日志中的一切进展顺利,我没有发现任何异常 但当我想重建完整的Lucene索引时,我最终遇到了一个问题。因此,当我删除lucene indexes文件夹时,增加Lucense的日志记录并设置index.recovery.mode=FULL并重新启动Alfresco,与索引重建相关,我在日志中看到如下内容: 11:39:29170

elasticsearch 弹性搜索优先排序以搜索词开头的搜索结果

我需要对以搜索词开头的搜索结果进行优先级排序。我用了“匹配短语前缀”。我用了“匹配短语前缀”。但不起作用。 详情: 质疑 GET /test/products/_search?pretty { "query": { "match_phrase_prefix": { "title": "iphone 5c" } } } 映射 curl -XGET

Lucene Elasticsearch和Spark,如何将一个字段写入文档

我正在使用Elasticsearch和Spark。我完全在rdd中创建索引,并使用rdd.saveToEs(“index”,mappings)编写它 稍后,我想通过覆盖文档中的单个字段来更新索引。但是rdd编写代码似乎需要整个文档,使用一个属性编写映射将删除文档的其余部分。例如,文档可能有标题、正文和流行度。大众性是双重的 当我重新创建人气号码时,我现在拥有: RDD[(String, Map[String, Double])] 其中单个元素将具有以下值: ("doc1", Map(("pop

elasticsearch 弹性搜索-按索引分组聚合

我有一些具有相同数据类型(相同字段)的索引。是否有办法获得每个索引中某个字段的最大值(例如) 假设我有以下数据: index1.some_type: {"some_field": 23}, {"some_field": 14}, {"some_field": 43} index2.some_type: {"some_field": 11}, {"some_field": 65}, {"some_field": 3} 我想得到第一个索引的最大值4

在Lucene中搜索价格范围

在Lucene,我试图搜索价格范围内的商品。 项目的价格字段后面有一个美元符号,如“$3.99” 我试过了 String querystr = "product: xxxx AND price: $[20.00 - 40.00]" 但这给了我一个例外。那么正确的方法是什么呢?例如,您应该将价格索引为数字字段a 如果将此字段作为字符串或文本进行索引,则范围查询必须基于词典排序。因此,如果您像这里尝试的那样执行范围查询,比如范围查询price:[$20.00到$40.00](侧注:,用于正确的范围

elasticsearch 麋鹿/鹿-在没有其他活动的情况下选择活动

我在AWS中有一个Lambda函数,它向ELK实例报告日志。 lambda函数的每次调用都会生成一个唯一的invocation\u id,该id随每个日志事件一起发送,因此可以在ELK中识别来自单个调用的事件。 在操作结束时,我发送一个“完成”事件 Lambda函数可能会失败或超时,然后不发送“完成”事件 我想创建一个查询来显示所有没有“完成”事件的调用。SQL并行程序可以是: select invocation_id from events where invocation_id not in

elasticsearch Elasticsearch中的文档频率和空值

我有一个应用程序,它使用以下elasticsearch自动完成查询,允许用户根据产品名称及其替代名称搜索产品 "query": { "dis_max": { "queries": [ { "match": { "name.autocomplete": { "query": "p",

Sitecore Lucene-重复条目

对于名为“某个页面”的项目,Sitecore会自动生成URL“/some page”,但也可以通过“/some page”访问该页面。URL不同,但指向相同的Sitecore项目 内容作者可以在其他页面的链接中使用这两个URL,对于当前的问题,假设我们无法更改他们的行为 如果两个链接都被使用,Lucene会将这两个链接都添加到搜索索引中,即同一页面被索引两次。两者都具有相同的“_id”值,因此它们被识别为同一项 如何确保Lucene不添加重复条目?我们如何将其配置为从不为相同的“\u id”值存

Lucene Umbraco检查-查询整数不起作用

我正在使用Umbraco v.7.6.1和Examine v0.1.82(Lucene 2.9.4.1)。我有一个车辆列表和一个搜索表单,可以查询不同类型的字段,包括价格。价格字段是一个数字数据字段,在检查索引中定义为: <add Name="price" Type="INT" /> 不返回任何结果,即使我有该价格范围内的车辆 如果我更改了检查索引并从price字段中删除Type=“INT”标记,那么范围查询将作为普通字符串范围查询工作并返回结果 所有字符串字段的查询都正常工作 根

Lucene 7.5.0如何将小写扩展术语设置为true

我已经实现了自己的分析器QueryParser和PerfielDanalyzerRapper来实现ElasticSearch${field}.raw特性。除了在StringField类型上使用通配符等进行测试外,一切似乎都正常工作 我理解这是因为这些查询根本不使用分析器 在lucene的早期版本中 在最新的7.5.0版本中,我找不到如何做到这一点。有人能解释一下吗?扩展术语由分析器处理。规范化。因为您已经实现了自己的分析器,所以添加了normalize方法的实现,该方法通过小写过滤器运行令牌流

elasticsearch Elasticsearch:将记录插入索引I don';我不想创建索引映射

Elasticsearch将文档插入索引时的默认行为是,如果不存在索引映射,则创建索引映射 我知道我可以使用此调用在集群级别更改此行为 PUT _cluster/settings { "persistent": { "action.auto_create_index": "false" } } 但我无法控制客户的弹性搜索 我在问,是否有一个参数可以随索引一起发送一个文档请求,告诉elastic不要创建索引,以防索引不存在,而是失败?如果您无法更改集群设置或el

Lucene 这种查询语言叫什么

据我所知,ApacheLucene和Google(GSA或GCS)是完全不同的搜索引擎/框架,它们的解析器具有不同的逻辑,但它们的查询语言似乎非常相似,或者说是相同的。如果它们相同,这个查询语言叫什么?如果不相同,则分别称为什么/有什么区别 例如: field1:foo "some text" 并且该项存在于数据集中 { "field1": "foo", "somefield": "bla bal some text" } 结果会是你可以称之为“搜索语法”,它是旧的信息检索研究(80

Lucene评分:TermQuery w&;不带术语向量

当TermVector/positions/Offset打开时,TermQuery:ExtractTerms是否会导致更高的计数?(假设匹配发生次数超过1次)。相反,关闭反转文件信息后,ExtractTerms是否始终返回1且仅返回1个术语 编辑:在模式中启用术语向量如何以及在何处影响评分?TermQuery.ExtractTerms提取查询中的术语,而不是结果。因此,搜索“foo:bar”总是只返回一个术语,而不管索引中有什么 在我看来,您似乎想了解,而不是Query.ExtractTerms

我应该用Jython和Lucene还是PyLucene?

我正在做一个项目,我需要与Lucene一起进行信息检索。我用Python编写代码,不熟悉Java。数据集将有4000个文档 在研究了这一点之后,我似乎可以将Jython与Lucene或Pylucene结合使用。该项目在1个月内到期。我以前没有建立Jython 你建议我用Jython还是Pylucene? Jython与Lucene和PyLucene的学习曲线是什么? 与Lucene和PyLucene一起组建Jython有多大的挑战性 谢谢 如果您熟悉Python,那么PyLucene应该更容易,

Lucene 在ElasticSearch中使用多种词干分析语言

我正在为一个网站建立一个搜索引擎,用户可以来自许多不同的国家,并发布文本内容 我会考虑这一点: -法语生成法语和英语的内容 -德语生成德语和英语的内容 等等 我想知道的是,是否有可能在同一时间使用不同的snowball词干分析器语言进行搜索,以便在同一时间获得适当的结果 我们是否必须为每个snowball stemmer langage创建一个索引 这种情况是否存在已知的模式 谢谢你这么快的免责声明,我不是词干/语言形态学方面的专家,但既然没有其他人回应,我的理解如下。此外,我的大部分经验都与s

如何在Lucene 4.2的每个文档中获取术语频率

最初我使用Lucene 3.2获取术语和术语频率,代码如下: for(int docNum=0; docNum < ir.numDocs(); docNum++) { TermFreqVector tfv = ir.getTermFreqVector(docNum, "TERJEMAHAN"); if (tfv == null) { // ignore empty fields continue; } String terms[] = tfv.getTerms(); int

使用加密密码创建Lucene索引

我试图使用加密方法创建lucene索引,但它引发了异常: Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: org.apache.lucene.store.Directory.openInput(Ljava/lang/String;)Lorg/apache/lucene/store/IndexInput; 这个代码有什么问题 try{ byte[] salt = new byte[16];

elasticsearch是否会在升级时自动更新lucene索引?

我想将elasticsearch从0.90.1升级到1.1.0。目前还不清楚elasticsearch是否会自动将数据重新索引到新的Lucene版本(在1.1.0中使用) 我应该重新编制数据索引,还是elasticsearch可以自动执行此操作?它将自动升级索引,但您仍应备份数据 有关升级的更多信息,请参见:

使用alfresco search.luceneSearch或search.lib.js使用特定类别名称阅读所有文档

类别名称 | 地理(8) 研究数据库(18) 我正在露天进行我自己的预先搜索。我需要阅读所有与特定类别相关的文件 例如: 若Geography下有20个文件,lucene query应该读取搜索关键字“香蕉”下的特定文档 进一步解释- 我正在使用search.lib.js进行搜索。我想分析一下结果,找出这些文件属于哪一类。例如,我想知道有多少文档属于语言和子类别下的类别。我尝试了分类API,但没有得到我想要的结果。知道如何通过结果获得每个文档的类别名称吗? 有没有像node.properties

Lucene Elasticsearch从用于匹配的查询中查找术语

elasticsearch(和Lucene)查询似乎会将字段的一部分与查询词的一部分相匹配。例如,它将匹配“棕色狐狸”和“快速狐狸” 是否有一种方法可以提取Elasticsearch用于执行匹配的原始查询中的术语(在上面的示例中是“fox”)。您应该查看Elasticsearch的。这正是我要找的,谢谢!如果您愿意,您可以将其注册为答案,以供将来参考。

elasticsearch elasticsearch在查询时始终返回空结果

我正在努力学习弹性搜索。但在查询时,除了match_all之外,我总是得到空结果 当我像下面这样执行match_allquery时,它工作得很好: curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "match_all": {} } }' | head -20 产出1: % Total % Received % Xferd Average Speed Time Tim

源于Lucene的希腊词

有没有办法用Lucene来干掉一个希腊单词?我需要索引字符串,还是有一种更简单的方法?我做了一些研究,发现了这一点,但我真的不知道如何使用希腊词干过滤器。你真的不需要直接使用GreekStemFilter。就用吧。它包括词干分析器。好的,我找到了答案。它与此类似

OrientDB:全文索引与Lucene全文索引

OrientDB有两种类型的全文索引:一种是,另一种是。然而,它是绝对不清楚我应该使用什么 我知道Lucene提供了更多功能。但是,如果不需要这些功能,该怎么办。我应该使用标准全文索引还是Lucene?显然,性能是主要问题。引擎LUCENE的索引“全文” 提供良好的全文索引,但不能用于索引其他类型。它是持久的、事务性的,并且支持范围查询。 有关lucene的更多信息,请参阅 引擎SB-TREE的索引“全文” 索引是使用基于B树索引算法的算法创建的。它已经进行了一些优化,这些优化与数据插入和范围查

Lucene Sitecore syncMaster索引策略不起作用

我有一个渲染组件,它使用Lucene索引运行搜索来填充自身 我们定义了两个指标;硕士和网络。在experience editor中,它使用主索引和实际站点的Web索引 我们已经将Web索引策略配置为onPublishindAsync,将主索引策略配置为syncMaster,其思想是CMS用户可以添加/编辑支持此组件的Sitecore项目,并在体验编辑器中直接看到它们 然而,在我们更改Sitecore中的数据时,主索引似乎没有更新。经验编辑器仅在我手动运行索引重建后显示数据 <

使用和跨多个索引搜索Lucene

我有多个索引,可以独立搜索每个索引,但我希望对所有索引进行合并搜索。我看过好几篇文章推荐使用multireader,但我没有得到我想要的结果。有关更多详细信息,请参见下面的单元测试 [测试] 给定公共无效\u多个\u文档\u具有\u SameId\u Diff\u属性\u Expect\u Matches() { //安排 var source1=new[]{new Stub(“1”,“Car”)、new Stub(“2”,“Bike”)、new Stub(“3”,“Car”)}; var so

休眠搜索&;Lucene-设置写入超时锁

我有一个 org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/XXXXX/User_Index/write.lock 异常,我读到写超时锁应该从默认的1秒增加 ( 有趣的是,之前我没有出现这种异常,但我正在处理一项任务,以便在项目中使用Spring。有一个很小的机会,有更多的竞争事务试图访问索引…?我认为Spring事务配置不正确: <!-- for the @Tr

elasticsearch ElasticSearch:保留位置\u增量不工作

根据文件 preserve_position_increments=false应使字符串中的连续关键字可搜索。但对我来说,它不起作用。这是虫子吗?在Kibana中复制的步骤: PUT /example-index/ { "settings": { "number_of_shards": 1, "number_of_replicas": 0 }, "mappings": { "_doc": { "properties": { "ex

elasticsearch 根据单词索引更改搜索顺序

有没有办法增加文件开头的术语的分量?例如,我有3份文件 Medicine XXX Sulpher This medicine contains sulpher and should be taken only after consultation with your doctor. Medicine YYY contains: sulpher Not recommended by most physicians Medicine ZZZ This medicine works like su

上一页 1 2 ...  50   51   52   53    54   55   56  ... 下一页 最后一页 共 78 页