草庐IT

java - 在 Solr 中超时查询

我通过自定义开发层查询到solr,我在我的层中超时的几个查询仍在solr实例中。solr中是否有一个参数可用于使特定查询超时 最佳答案 如Solrquerycontinuesafterclientdisconnects?中所述和writtenintheSolrFAQInternally,Solrdoesnothingtotimeoutanyrequests--itletsbothupdatesandqueriestakehoweverlongtheyneedtotaketobeprocessedfully.但在FAQ的同一位置写着H

java - 使用 Apache Lucene 删除磁盘中的所有索引数据/文件?

如何使用ApacheLucene刷新/删除/删除磁盘中的所有索引文件/数据。到目前为止这是我的代码,但我仍然无法删除索引文件。请帮帮我...测试:publicclassTest{privatestaticfinalStringINDEX_DIR="/home/amila/Lucene/REST/indexing";publicstaticvoidmain(String[]args){try{ContentIndexercontentIndexer=newContentIndexer(INDEX_DIR);contentIndexer.flushDisk();System.out.pri

java - Lucene 相似类的高级解释?

你知道我在哪里可以找到LuceneSimilarityClass的高级解释吗?算法。我想理解它而不必破译与搜索和索引相关的所有数学和术语。 最佳答案 Lucene的内置相似度是相当标准的"InverseDocumentFrequency"评分算法。维基百科文章很简短,但涵盖了基础知识。本书LuceneinAction更详细地分解了Lucene公式;它并没有完美地反射(reflect)当前的Lucene公式,但解释了所有主要概念。主要是,分数随术语在当前文档中出现的次数(术语频率)而变化,与术语在文档中出现的次数成反比所有文档(文档频

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

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

java - Solr 找不到 JDBC 驱动程序

多年来我没有用Java做过任何事情,所以我试图尽可能简单地完成这项工作。我正在运行Ubuntu10.04。到目前为止,我刚刚完成了:apt-getinstallsolr-jettylibmysql-java并设置我所有的配置文件以从我的MySQL数据库中提取文档。但是,现在,当我尝试进行完全导入时,我在日志中得到了这个:SEVERE:FullImportfailedorg.apache.solr.handler.dataimport.DataImportHandlerException:Couldnotloaddriver:com.mysql.jdbc.DriverProcessing

java - Lucene荧光笔

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

java - 如何在 Java 中一次从整个字符串中转义所有特殊字符

Lucene支持转义属于查询语法一部分的特殊字符。当前列表特殊字符为+-&&||!(){}[]^"~*?:\要转义这些字符,请在字符前使用\。例如要搜索(1+1):2使用查询:\(1\+1\)\:2我的问题是如何一次性从整个字符串中转义?例如myStringToEscape="ABC^"~*?:DEF";如何获取escapedString。 最佳答案 您可以使用QueryParser.escape,例如:StringescapedString=queryParser.escape(searchString);queryParser.

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

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

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