Tag: lucene

Lucene Proximity搜索超过两个单词的短语

Lucene的手册解释了邻近搜索有两个单词的短语的含义,例如http://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Proximity Searches的”jakarta apache”~10例子 但是,我想知道像”jakarta apache lucene”~10这样的搜索到底是做什么的? 它是否允许相邻单词最多相隔10个单词,或者所有单词对是否相同? 谢谢!

是否有快速,准确的Lucene荧光笔?

我已经使用(Java) Highlighter for Lucene (在Sandbox包中)一段时间了。 但是,在匹配搜索结果中的正确术语时,这并不是非常准确 – 它适用于简单查询,例如,搜索两个单独的单词将突出显示结果中的两个代码片段。 但是,对于更复杂的查询,它不能很好地运行。 在最简单的情况下,诸如“Stack Overflow”之类的短语查询将匹配突出显示中所有出现的Stack或Overflow,这给用户留下了不能很好地工作的印象。 我尝试在这里应用修复程序,但这带来了很多性能警告,并且在一天结束时只是普遍无法使用。 性能尤其是通配符查询的问题。 这是由于突出显示的工作方式; 它不是仅仅处理查询字符串和文本,而是像Lucene那样解析它,然后查找Lucene所做的所有匹配; 不幸的是,这意味着对于某些通配符查询,它可以在大型文档上查找与2000+子句的匹配,并且它的速度不够快。 有没有更快的实现准确的荧光笔?

如何在Lucene 3.5.0中提取文档术语向量

我正在使用Lucene 3.5.0,我想输出每个文档的术语向量。 例如,我想知道所有文档和每个特定文档中术语的频率。 我的索引代码是: import java.io.FileFilter; import java.io.FileReader; import java.io.IOException; import java.io.File; import java.io.FileReader; import java.io.BufferedReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.document.Field; import org.apache.lucene.document.Document; import org.apache.lucene.store.RAMDirectory; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.util.Version; public class Indexer { public static void main(String[] args) throws Exception { if (args.length != 2) { throw new IllegalArgumentException(“Usage: java ” + […]

如何从Lucene的特定字段中获取唯一术语列表?

我有一个包含多个字段的大型语料库的索引。 这些字段中只有一个包含文本。 我需要根据这个字段从整个索引中提取唯一的单词。 有谁知道我如何用java中的Lucene做到这一点?

如何使lucene不区分大小写

默认情况下,单词“Word”和“单词”不一样。 如何让Lucene不区分大小写?

在Solr中定时查询

我通过自定义开发的图层查询solr,我在我的图层中超时的几个查询仍然在solr实例中。 solr中是否有一个参数可用于超时特定查询

Lucene爬虫(它需要构建lucene索引)

我正在寻找用java编写的Apache Lucene网络爬虫(如果可能或任何其他语言)。 爬虫必须使用lucene并创建一个有效的lucene索引和文档文件,所以这就是为什么nutch被淘汰的原因…… 有没有人知道这样的网络爬虫存在,如果答案是肯定的,我可以找到它。 TNX …

如何使用lucene API(AND(b OR c))创建嵌套的布尔查询?

我有一个索引对象有三个字段(userId,标题,描述)。 我想找到特定用户的所有对象,其中标题或描述包含给定的关键字。 我有类似的东西(但这显然是错的): WildcardQuery nameQuery = new WildcardQuery(new Term(“name”, filter.getSearch())); WildcardQuery descQuery = new WildcardQuery(new Term(“description”, filter.getSearch())); TermQuery userQuery = new TermQuery(new Term(“user_id”, u.getId()+””)); BooleanQuery booleanQuery = new BooleanQuery(); booleanQuery.add(new BooleanClause(name_query, Occur.SHOULD)); booleanQuery.add(new BooleanClause(desc_query, Occur.SHOULD)); booleanQuery.add(new BooleanClause(user_query, Occur.MUST)); 如何修改代码以获取具有正确ID的所有对象以及标题或描述中的搜索短语?

Lucene和Lucene.Net的俄语分析器

Lucene对俄语的支持很差。 RussianAnalyzer(lucene-contrib的一部分)质量很差。 用于Snowball的RussianStemmer模块更糟糕。 它不能识别Unicode字符串中的俄语文本,显然假设必须使用Unicode和KOI8-R的某些奇怪组合。 你知道更好的解决方案吗?

如何使用TermVector Lucene 4.0

在索引方法中,我使用以下行: Field contentsField = new Field(“contents”, new FileReader(f), Field.TermVector.YES); 但是,在Lucene 4.0中,不推荐使用此构造函数,而应使用new TextField而不是new Field 。 但是TextField的问题在于它在构造函数中不接受TermVector 。 有没有办法在新的构造函数中将Term Vector包含在Lucene 4.0的索引中? 谢谢