草庐IT

Zend_Search_Lucene

全部标签

java - 从 Lucene 中查找搜索命中的位置

对于Lucene,在搜索结果中定位匹配项的推荐方法是什么?更具体地说,假设索引文档有一个字段“fullText”,它存储某个文档的纯文本内容。此外,假设这些文档之一的内容是“Thequickbrownfoxjumpsoverthelazydog”。接下来搜索“foxdog”。显然,该文件将大受欢迎。在这种情况下,是否可以使用Lucene来为找到的文档提供匹配区域之类的东西?因此,对于这种情况,我想制作如下内容:[{match:"fox",startIndex:10,length:3},{match:"dog",startIndex:34,length:3}]我怀疑它可以通过org.ap

java - Lucene荧光笔

Lucene4.3.1荧光笔如何工作?我想从文档中打印出搜索结果(作为搜索词和该词后的8个词)。我怎样才能使用Highlighter类来做到这一点?我已经将完整的txt、html和xml文档添加到一个文件中,并将它们添加到我的索引中,现在我有了一个搜索公式,我可能会从中添加荧光笔功能:Stringindex="index";Stringfield="contents";Stringqueries=null;intrepeat=1;booleanraw=true;//notsurewhatrawreallydoes???StringqueryString=null;//keepnull,

elasticsearch 深度分页查询 Search_after(图文教程)

Search_after使用一.简介二.不带PIT的search_after查询2.1构造数据2.2search_after分页查询2.2问题三.带PIT的search_after查询3.1构建第一次查询条件3.2进行下一页查询3.3删除PIT四.参考文章前言这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。作者:神的孩子都在歌唱一.简介search_after是Elasticsearch提供的一种分页查询方式,它可以用来在已经排序的结果集中进行分页查询。search_after查询步骤如下(下面有具体的例子帮助理解):最后一条排序结果相当于它的游标优点:性能优势:相

java - Lucene:多词短语作为搜索词

我正在尝试使用ApacheLucene制作可搜索的电话/本地企业目录。我有街道名称、公司名称、电话号码等字段。我遇到的问题是,当我尝试按街道名称包含多个词(例如“新月”)的街道进行搜索时,没有结果被退回。但是,如果我尝试仅使用一个词进行搜索,例如“新月”,我会得到所有想要的结果。我正在使用以下索引数据:StringLocationOfDirectory="C:\\dir\\index";StandardAnalyzeranalyzer=newStandardAnalyzer(Version.LUCENE_34);DirectoryIndex=newSimpleFSDirectory(L

java - 将多值字符串字段添加到 Lucene 文档中,逗号重要吗?

我正在构建Lucene索引并添加文档。我有一个多值字段,在这个例子中我将使用类别。一个项目可以有很多类别,例如,牛仔裤可以属于服装、裤子、男士、女士等。将字段添加到文档时,逗号有区别吗?Lucene会忽略它们吗?如果我将逗号更改为空格,会有区别吗?这会自动使该字段成为多值吗?StringcategoriesForItem=getCategories();//returns"category1,category2,cat3"fromaDBcallcategoriesForItem=categoriesForItem.replaceAll(",","").trim();//notsurei

【数据结构】初识二叉搜索树(Binary Search Tree)

文章目录1.二叉搜索树的概念2.二叉搜索树的操作1.1二叉搜索树的查找1.2二叉搜索树的插入1.3二叉搜索树的删除1.二叉搜索树的概念二叉搜索树又称二叉排序树,它可能是一棵空树,也可能是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值。若它的右子树不为空,则右子树上所有节点的值都大于根节点的值。它的左右子树也分别为二叉搜索树。2.二叉搜索树的操作inta[]={8,3,1,10,6,4,7,14,13};1.1二叉搜索树的查找从根开始比较、查找,比根大则往右边走查找,比根小则往左边走查找。最多查找高度次,若走到空还没找到,则这个值不存在。1.2二叉搜索树的插入树

java - 在 Lucene 中对词级注释层进行索引和搜索

我有一个数据集,在底层文本上有多层注释,例如part-of-tags,chunksfromashallowparser,nameentities,和其他来自各种naturallanguageprocessing(自然语言处理)工具。对于像Themanwenttothestore这样的句子,注释可能如下所示:WordPOSChunkNER====================TheDTNPPersonmanNNNPPersonwentVBDVP-toTOPP-theDTNPLocationstoreNNNPLocation我想使用Lucene为一堆带有注释的文档编制索引,然后跨不同层执

java - Compass Lucene 来袭

我在上面使用了Lucene和Compass,但遇到了一个问题:try{CompassHitshits=compassQuery.hits();for(CompassHitcompassHit:hits){if(results.size()>=maxResults){Log.info(this,"Numberofresultsexceeded%,dforquery%s",maxResults,query);break;}else{results.add((T)compassHit.getData());}}}当compassHit.getData());获取数据时,命中率为100,则重新

java - 使用 lucene 保持查询统计

我正在使用Lucene开发Web应用程序的搜索组件。我想将用户查询保存到索引中,并使用它们向用户建议备用查询,并保留查询统计信息(最常用的查询、得分最高的查询……)。要将此数据用于备用查询建议,我会分析查询以查看哪些术语最常相互使用,并使用它来为用户创建建议。但我想不出用哪种形式来索引数据。我正在考虑简单地将查询添加到索引中,但那样可能会有很多冗余数据,因为索引中的许多文档都具有相同的内容。有没有人对实现这一目标的方式有任何想法?感谢您的帮助。 最佳答案 "Iwasthinkingofsimplyaddingthequeriesin

java - 在 GAE 上实现新闻提要——我应该使用 Prospective Search 吗?

我有一个问题困扰了我一段时间。我正在尝试使用GAE云端点和java在我的应用程序中实现新闻提要功能。常见的概念是followers和followees,followee的一个Action可以被他的followers看到。新的关注者还应该看到他的关注者过去的行为,而不仅仅是从他开始关注的那一刻起。我尝试了以下组件。每次尝试都很好,但缺少一些东西:在每个用户操作中,我在数据存储中添加了一个“日志”实体,其中包含用户ID。当用户显示他的新闻提要时,我只是根据用户的关注者列表通过用户ID查询所有这些实体。一切都很好,直到我意识到无法游标“IN”查询。所以这个选项没有了。在这次尝试中,我正在使用