问题标签 [pylucene]
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.
lucene - Lucene:使用 FuzzyQuery 在搜索中搜索
我需要使用包含大约 800 万行的索引来制作FuzzyQuery 。这种查询非常慢,每次匹配大约需要 20 秒。事实是,在进行模糊搜索之前,我可以使用另一个字段将结果缩小到大约 5000 个命中。为此,我应该能够先通过“较窄”字段进行搜索,然后在这些结果中使用模糊搜索。
根据lucene FAQ,我唯一要做的就是BooleanQuery,其中应该需要“更窄”(在 lucene 3 中为BooleanClause.Occur.MUST )。
现在我尝试了两种不同的方法:
a)使用查询解析器,输入如下:
narrower:+narrowing_text fuzzy:fuzzy_text~0.9
b)使用TermQuery和FuzzyQuery构造BooleanQuery
也没有工作,我得到的时间与不使用较窄的时间大致相同。
此外,只是为了检查是否窄的工作时间应该更好,我只重新索引了与窄匹配的 5000 个项目,搜索速度非常快。
如果有人想知道,我使用的是 pylucene 3.0.2。
python - pyLucene 安装
我在 Ubuntu 10.04、Python 2.6.5 上安装 pyLucene 时遇到了一些问题。
这是我到目前为止所做的,安装了这些软件包 -
之后从http://www.apache.org/dyn/closer.cgi/lucene/pylucene/获得 pyLucene 的源代码。我得到了 pylucene-3.0.1-1 版本。
解压它。由于需要先建JCC;转到 JCC 目录,然后输入python setup.py install
. 收到有关某些 setuptools 补丁的错误。它告诉我这样做 -
sudo patch -d /usr/lib/python2.6/dist-packages -Nup0 < /home/code/python/lucene/pylucene-3.0.1-1/jcc/jcc/patches/patch.43.0.6c11
我做到了。但我在终端上得到了这个 -
现在我的构建失败了——即当我这样做时sudo python setup.py build
——
java - 在 Ubuntu 10.04 上安装 PyLucene 3.0.3
我正在尝试在 Ubuntu 10.04 上安装 PyLucene 3.0.3。这已被证明相当具有挑战性,但到目前为止,我已经:
- 按照 PyLucene 文档中的说明,修补了 setuptools 以允许构建 JCC。
- 通过以下方式构建 JCC:cd pylucene-3.0.3-1/jcc;python setup.py 构建
- 通过ant构建Lucene 3.0.3,并将jar安装到/usr/share/java/lucene-core-3.0.3-dev.jar。请注意,我将 Ubuntu 的默认 Lucene 包安装到 /usr/share/java/lucene-core-2.9.2.jar,它也符号链接到 /usr/share/java/lucene-core.jar
我现在正在尝试“制作” PyLucene,但出现错误:
文件 pylucene-3.0.3-1/doc/documentation/install.html 提到“编辑 Makefile 以匹配您的环境”,但我不确定这意味着什么。makefile 似乎包含与我安装的相同的 Lucene 版本号。为了构建 PyLucene,我还需要如何编辑我的 makefile?
编辑:取消注释 makefile 中的一个部分(感谢 Torsten)在 Ubuntu 8.10(说真的,8.10?!)下编译后,大部分似乎编译得很好,但我仍然收到一个错误。几个组件报告“构建成功”,但最终构建以:
python - 使用 PyLucene 作为 K-NN 分类器
我有一个由数百万个示例组成的数据集,其中每个示例包含 128 个按名称分类的连续值特征。我正在尝试找到一个强大的大型数据库/索引来用作高维数据的 KNN 分类器。我尝试了Weka 的 IBk 分类器,但它在这么多数据上窒息,即使那样它也必须加载到内存中。Lucene ,特别是通过PyLucene接口,会是一个可能的替代方案吗?
我找到了Lire,它似乎以类似的方式使用 Lucene,但是在查看代码之后,我不确定他们是如何将其拉下来的,或者这是否与我正在尝试做的事情相同。
我意识到 Lucene 被设计为文本索引工具,而不是通用分类器,但是可以以这种方式使用它吗?
lucene - 将 SnowBallAnalyzer 与 PyLucene 结合使用
我正在尝试在 PyLucene 中使用 SnowBallAnalyzer,但我总是收到一条错误消息:当我尝试像这样创建它的实例时出现 InvalidArgsError:
analyzer = SnowBallAnalyzer("Spanish")
或者
analyzer = SnowBallAnalyzer("Spanish", STOPWORDS)
我真正需要的是,如果我搜索“Fútbol”,我应该获得包含“futbol”或“fútbol”这个词的文档。所以...我想将 SnowBallAnalyzer 应用于我想索引查询的文本。
任何帮助将不胜感激。
提前致谢。
python - 在 Django 中使用 pylucene 时执行 initVM 和 attachCurrentThread 的最佳位置在哪里
我在基于 django 的站点中使用 pylucene,我想知道是否有人知道启动 jvm 和附加线程的最佳位置在哪里。我不想每次有人加载页面时都必须启动一个新的 jvm,但是当我在搜索时附加线程时,我偶尔会在 django 中遇到神秘的“无法导入名称”错误。
在views.py中附加线程是错误的吗?
编辑:我正在专门寻找一种方法来实例化单个 jvm 并让它运行,这样我就可以根据需要将线程附加到它。实例化 jvm 大约需要两秒钟,这是搜索时明显的延迟。
python - apache会杀死我的进程吗?
我有一个关于 lucene 和 apache 的奇怪问题。我正在使用 lucene 进行全文搜索以及我需要调用的搜索:
initVM()
我发现在这个调用之后没有任何东西被执行。所以这一切都发生在通过 apache 处理的 http 请求上。
现在,当我尝试在交互式命令提示符下手动执行此操作时,它可以正常工作。
以下是一些相关的 apache 配置行:
编辑
当手动执行它时,我认为它会创建 9 个线程:
提前致谢!
python - PyLucene Custom TokenStream using PythonTokenStream
I am attempting to build a TokenStream from a Python Sequence. Just for fun I want to be able to pass my own Tokens directly to
I tried to make "MyTokenStream" by...
But unfortunately a wrapper for "TermAttribute" doesn't exist, or for that matter any of the other Attribute
classes in lucene so I get a NotImplemented error when calling them.
This doesn't raise an exception - but I'm not not sure if it's even setting the terms.
python - pylucene:安装错误
更新问题:
谢谢法沃雷蒂!
我使用apt-get安装了jcc,pylucene下的makefile运行了一点,抛出了一个java错误,我不知道。这里是。你能告诉我这是什么错误吗?
python - Lucene 自动索引器
我刚开始学习 Lucene,想用它来索引硬盘和我的电子邮件,我想知道 Lucene 是否有帮助我的东西,或者我必须建立某种观察者,观察任何变化在硬盘驱动器中讨论:如何使用 Python 观察文件的更改?
谢谢