问题标签 [lucene]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
search - 有谁知道在网上详细描述 Lucene 索引格式的体面文档在哪里?
我主要对引擎本身的内部运作感到好奇。我找不到有关索引格式本身的任何信息(IE 的详细信息,就好像您要构建自己的兼容实现一样)以及它是如何工作的。我已经浏览了代码,但是对于必须在某处描述的内容,它有点难以接受,因为周围有很多与其他语言兼容的端口。谁能提供一个像样的链接?
mysql - 如何将 lucene 索引存储在数据库中?
这是我的示例代码:
我被困在这条线上:IndexWriter writer = new IndexWriter(jdbcDir, analyzer,false);
每次我尝试运行此代码时,都会收到以下异常:
------“org.apache.lucene.store.LockObtainFailedException:锁获取超时:PhantomReadLock[write.lock/tttable]”------------
我找不到代码有什么问题。可能是jar兼容性问题。
我无法获得 IndexWriter 对象。
sql-server - SQL Server 的全文搜索是搜索短语而不是文档的正确工具吗?
3000 万个不同的短语,而不是文档,从一个单词到 10 个单词的句子,我需要支持单词/短语搜索。基本上是什么contains(phrase, "'book' or 'stack overflow'")提供的。
我有一个 SQL Server 2005 实例(32 位,4 proc,4gb)针对几个全文目录,对于高基数的单词搜索,性能很糟糕。
这是我加快速度的想法,也许有人可以提供指导-
1) 升级到 2008 iFTS,64 位。Sql Server 2005 FTS 的 windows 服务永远不会超过 50mb。根据我收集到的信息,它使用文件系统缓存来查找目录索引。我在磁盘上填充的目录只有大约 300mb,那么为什么不能全部都在内存中呢?iFTS 的新内存架构(它是 sqlserver 进程的一部分)可能在这里有帮助吗?
2) 将目录扩展到多台服务器。对链接的 FTS 服务器的查询会并行运行吗?
3)由于我在这里搜索短语而不是文档,因此可能 Sql Server 的全文搜索不是答案。Lucene.NET?将目录索引放在内存驱动器上?
maven-2 - 在 pom.xml 中使用 Snowball 分析器和 Lucene 2.4.0 的正确依赖项是什么?
我正在尝试在我的 Maven 2 项目中将SnowballAnalyzer换成StandardAnalyzer 。我目前正在使用
但我不断收到以下错误:
python - Python文件索引和搜索
我有一个需要启用搜索的大型设置文件 (hdf)。对于 Java,我会使用 Lucene,因为它是一个文件和文档索引引擎。我不知道python等价物是什么。
谁能推荐我应该使用哪个库来索引大量文件以进行快速搜索?或者是自己滚动的首选方式?
我看过pylucene和lupy,但是这两个项目似乎相当不活跃且不受支持,所以我不确定是否应该依赖它们。
最后说明: Woosh 和 pylucene 看起来很有希望,但是 woosh 仍然是 alpha,所以我不确定我是否要依赖它,而且我在编译 pylucene 时遇到了问题,并且没有实际的发布。在我查看了更多数据之后,它主要是数字和默认文本字符串,所以现在关闭索引引擎对我没有帮助。希望这些库能够稳定下来,以后的访问者会发现它们有一些用处。
lucene - 如何创建更复杂的 Lucene 查询字符串?
这个问题是从这个问题衍生出来的。我的调查是双重的,但因为两者都是相关的,所以我认为将它们放在一起是个好主意。
- 如何以编程方式创建查询。我知道我可以开始创建字符串并使用查询解析器解析该字符串。但是当我从其他资源中收集零碎信息时,有一种编程方式可以做到这一点。
- Lucene 查询的语法规则是什么?
- 编辑 -
我将为我想要进行的查询提供一个需求示例:
假设我有 5 个字段:
- 名
- 姓
- 年龄
- 地址
- 一切
所有字段都是可选的,最后一个字段应搜索所有其他字段。我检查了每个字段,看看它是否是 IsNullOrEmpty()。如果不是,我想附加我的查询的一部分,以便添加相关的搜索部分。
名字和姓氏应该完全匹配,并且比其他字段具有更大的权重。年龄是一个字符串,应该完全匹配。地址可以按顺序变化。一切也可以按顺序变化。
我该怎么办?
lucene - “所有单词”功能中的停用词
我正在使用 Lucene 开发“所有这些单词”功能。我正在使用没有任何停用词的 StandardAnalyzer。当用户键入包含“the”、“and”等的单词时,lucene 不会返回任何结果。如果我从输入中删除停用词,那么 lucene 会给出搜索结果。
我正在使用带有 BooleanClause.Occur.MUST 子句的 booleanquery。
我在这里错过了什么吗?
谢谢。
nhibernate - 流畅的 NHibernate + Lucene 搜索 (NHibernate.Search)
我正在使用 Fluent NHibernate,我想用 Lucene 实现 NHibernate.Search,但我找不到任何关于如何使用 Fluent NHibernate 来实现的示例。似乎有两个步骤。(根据城堡)
在配置中设置 Hibernate 属性:
- hibernate.search.default.directory_provider
- hibernate.search.default.indexBase
- hibernate.search.analyzer
初始化事件侦听器以索引持久对象
- configuration.SetListener(ListenerType.PostUpdate, new FullTextIndexEventListener());
- configuration.SetListener(ListenerType.PostInsert, new FullTextIndexEventListener());
- configuration.SetListener(ListenerType.PostDelete, new FullTextIndexEventListener());
我想出了如何将属性添加到 Fluent NHibernate 源配置,但我找不到设置事件侦听器的位置。
lucene - MultiFieldQueryParser 中的提升因子
我可以用不同的因素提升 MultiFieldQueryParser 中的不同字段吗?另外,我可以分配给字段的最大提升因子值是多少?
万分感谢!埃德
lucene - Lucene boost:我需要让它更好地工作
我正在使用 Lucene 来索引具有名称和类型的组件。一些组件更重要,因此得到更大的提升。但是,我无法让我的提升正常工作。我会得到一些组件稍后出现(得分更差),即使它们有更高的提升。
请注意,索引仅在一个字段上完成,并且我仅将提升设置为该字段。我在 Java 中使用 Lucene。
我认为这与字段长度无关。我见过同名(但类型不同)的组件得分错误。