问题标签 [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.

0 投票
1 回答
2138 浏览

python - 使用 Lucene (PyLucene) 查找单个字段术语

我对 Lucene 的术语向量还很陌生——并且想确保我的术语收集尽可能高效。我得到了唯一的术语,然后检索术语的 docFreq() 来执行分面。

我正在使用以下方法从索引中收集所有文档术语:

这很好用,但是有没有办法只返回特定字段的术语(在所有文档中)——这不是更有效吗?

如:

0 投票
2 回答
168 浏览

search - 搜索索引 - 12 = 12

我很好奇处理标记化/索引术语(在 Lucene 中)或任何搜索引擎的最佳方法是什么,以便这些搜索匹配相应的术语。

“12”=“十二”

“mx1” = “mx 一个”

有没有我忽略的内置功能?

0 投票
1 回答
2318 浏览

search - 从 lucene 索引中获取字段的标记

如何从 lucene 索引TokenStream中获取用于 aField内的标记(无论是标记列表、还是其他)?Document也就是说,是否可以tokens从索引中获取(来自示例)中使用的标记?(我不知道如何从 a 中获取令牌TokenStream

在文档中有,Field.tokenStreamValue()但是当我这样做时doc.getFieldable(field_name),它会简单地返回null.

我也尝试过(来自lucene 中的第三条评论 - Fieldable.tokenStreamValue()):

但我明白了

0 投票
1 回答
502 浏览

lucene - 我应该将 Jython 与 Lucene 还是 PyLucene 一起使用?

我正在做一个需要使用 Lucene 进行信息检索的项目。我用 Python 编写代码,但不熟悉 Java。该数据集将包含 4000 个文档。

在研究了这个之后,似乎我可以将 Jython 与 Lucene 或 Pylucene 一起使用。该项目将于 1 个月内到期。我之前没有设置过 Jython。

你会推荐我使用 Jython 还是 Pylucene?Jython 与 Lucene 与 PyLucene 的学习曲线是什么?使用 Lucene 与 PyLucene 设置 Jython 有多困难?

谢谢!

0 投票
1 回答
237 浏览

python - dll 在与 c:\windows\system32 不同的目录中

最后我设法让 pylucene 在我的 windows7 机器上工作,这引发了一个更普遍的问题:
为什么当我在路径中的目录上有一个 dll 时,python 找不到它,
而当我将 dll 放在 c 中时: \windows\system32 - 它确实有效?

使用 Windows 7 32 位

0 投票
0 回答
509 浏览

python - PyLucene 的对数似然比统计

目前我正在分析大量的文本。我想对两个词表执行对数似然比,以识别前景语料库与规范语料库中术语的频率偏差。我已经在 Python 中编写了对数似然编码,但是在二元组上运行代码会导致计算机速度慢和等待时间长。我刚刚读到我可以使用 PyLucene 索引我的语料库,这将加快语料库上的运行任务。有足够的文档如何索引,但我在某个地方读到了 PyLucene 中存在的对数似然比函数。有人知道这个功能吗?提前致谢。

0 投票
2 回答
1664 浏览

python - 如何在 pylucene 3.5 中实例化 StandardAnalyzer?版本对象在哪里?

我正在尝试使用 PyLucene,但我找不到任何在我当前版本中实际运行的代码示例。(例如,参见http://nullege.com/codes/search/PyLucene.StandardAnalyzer)。

在某些时候,您需要实例化一个分析器。看起来这应该通过调用 lucene.StandardAnalyzer() 来完成。但是,这给出了一个错误:

错误的原因很清楚: http: //lucene.apache.org/core/old_versioned_docs/versions/3_0_3/api/core/index.html上的 StandardAnalyzer 文档说它需要一个 Version 对象的参数.

那么我从哪里得到一个版本对象呢?

以下内容已出现在代码示例中,但实际上不起作用:

  • lucene.Version.LUCENE_CURRENT
  • lucene.Version.LUCENE_30

这些名称是未定义的。这是我的 lucene.Version 类中的内容:

0 投票
0 回答
290 浏览

lucene - 在 PyLucene 中使用 ShingleFilter 构建自定义分析器

我对 Lucene 和 Pylucene 很陌生。当我使用 pylucene 编写自定义分析器以将文本标记为二元组时,这是一个问题。

分析器类的代码是:

我在 LowerCaseTokeinizer 生成的 TokenStream 上使用了 ShingleFilter。当我直接调用 tokenStream 函数时,它可以正常工作:

但是当我尝试使用此分析器构建查询解析器时,出现了问题:

在查询中什么都没有。

在 tokenStream 函数中添加 print 语句后,我发现当我调用 parser.parse(str) 时,tokenStream 中的 print 语句实际上被调用了 3 次(我的 str 变量中的 3 个单词)。在我看来,解析器对我传递给它的 str 进行了预处理,并在预处理结果上调用了 tokenStream 函数。

关于如何使分析器工作的任何想法,以便当我将它传递给查询解析器时,解析器可以将字符串解析为二元组?

提前致谢!

0 投票
1 回答
627 浏览

python - 如何在 pyLucene 中使用荧光笔?

我已经阅读了一些关于在 Lucene 中突出显示搜索词的教程,并提出了如下代码:

但这一切都以错误结束:

所以,我猜,Lucene 的这一部分还没有在 pyLucene 中实现。还有其他方法吗?

0 投票
1 回答
1063 浏览

django - from _jcc import initVM DLL load failed: 找不到指定的模块

嗨,我正在尝试将使用 Pylucene 从 DJANGO 开发服务器的工作 Django v1.3 应用程序移植到带有 mod_wsgi 的 Apache,它在同一台 Windows XP 机器上给出错误。

来自 Django 调试的错误消息:

ViewDoesNotExist 在 /administration/feeds/

无法导入 plunk4.feeds.views。错误是:DLL 加载失败:找不到指定的模块。

请求方法:GET 请求 URL:localhost/administration/feeds/ Django 版本:1.3 异常类型:ViewDoesNotExist 异常值:

无法导入 plunk4.feeds.views。错误是:DLL 加载失败:找不到指定的模块。

异常位置:c:\Python27\lib\site-packages\django\core\urlresolvers.py in _get_callback,第 167 行 Python 可执行文件:C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe Python 版本:2.7.1 Python 路径:

['c:\Python27\lib\site-packages\south-0.7.3-py2.7.egg', 'c:\Python27\lib\site-packages\django_admin_tools-0.4.0-py2.7.egg' , 'c:\Python27\lib\site-packages\jcc-2.8-py2.7-win32.egg', 'c:\Python27\lib\site-packages\lucene-3.1.0-py2.7-win32.鸡蛋','c:\Python27\lib\site-packages\oauth2-1.5.170-py2.7.egg','c:\Python27\lib\site-packages\httplib2-0.7.2-py2.7。鸡蛋','c:\Python27\lib\site-packages\django_social_auth-0.6.0-py2.7.egg','c:\Python27\lib\site-packages\python_openid-2.2.5-py2.7。鸡蛋','c:\Python27\lib\site-packages\python_dateutil-1.5-py2.7.egg','c:\Python27\lib\site-packages\distribute-0.6.24-py2.7.egg' , 'c:\Python27\lib\site-packages\django_chronograph-0.2.0.dev-py2.7.egg', 'c:\Python27\lib\site-packages\pyofc2-0.1.5dev-py2.7.egg'、'c:\Python27\lib\site-packages\anyjson-0.3.1-py2.7.egg'、'c:\Python27\lib\site-packages\django_pagination-1.0.7-py2。 7.egg'、'c:\Python27\lib\site-packages\gdata-2.0.17-py2.7.egg'、'c:\Python27\lib\site-packages\flickrapi-1.4.2-py2。 7.egg'、'c:\Python27\lib\site-packages\threadpool-1.2.7-py2.7.egg'、'c:\Python27\Lib'、'c:\test\git_repo\src'、 'c:\test\git_repo\src\plunk4', 'c:\test\git_repo\src\plunk4\feeds', 'C:\Python27\Lib\site-packages\lucene-3.1.0-py2.7- win32.egg\lucene', 'C:\Python27\Lib\site-packages\lucene-3.1.0-py2.7-win32.egg\lucene\lib', 'C:\Program Files\Java\jdk1.6.0 _30\jre\bin'、'C:\Program Files\Java\jdk1.6.0_30\jre\bin\client'、'C:\Program Files\Apache Software Foundation\Apache2.2', 'C:\WINDOWS\system32\python27.zip', 'c:\Python27\DLLs', 'c:\Python27\lib\plat-win', 'c:\Python27\lib\lib-tk' , 'C:\Program Files\Apache Software Foundation\Apache2.2\bin', 'c:\Python27', 'c:\Python27\lib\site-packages']

服务器时间:2012年8月10日星期五13:14:36 -0700

这是apache error.log

[2012 年 8 月 10 日星期五 13:03:03] [警告] mod_wsgi:为 Python/2.7 编译。[2012 年 8 月 10 日星期五 13:03:03] [警告] mod_wsgi:运行时使用 Python/2.7.1。[2012 年 8 月 10 日星期五 13:03:03] [通知] Apache/2.2.22 (Win32) mod_wsgi/3.3 Python/2.7.1 已配置 -- 恢复正常操作 [2012 年 8 月 10 日星期五 13:03:03] [通知]服务器构建:2012 年 1 月 28 日 11:16:39 [2012 年 8 月 10 日星期五 13:03:03] [通知] 父级:创建子进程 6780 [2012 年 8 月 10 日星期五 13:03:03] [警告] mod_wsgi:为 Python 编译/2.7。[2012 年 8 月 10 日星期五 13:03:03] [警告] mod_wsgi:运行时使用 Python/2.7.1。[Fri Aug 10 13:03:03 2012] [notice] Child 6780:子进程正在运行 [Fri Aug 10 13:03:04 2012] [notice] Child 6780:获得启动互斥锁。[Fri Aug 10 13:03:04 2012] [notice] Child 6780:启动 64 个工作线程。[Fri Aug 10 13:03:04 2012] [通知] 儿童 6780:启动线程以侦听端口 80。 [Fri Aug 10 13:03:45 2012] [error] [client 127.0.0.1] mod_wsgi (pid=6780): Target WSGI script 'C:/temp/wsgi_test.py' cannot be作为 Python 模块加载。[2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1] mod_wsgi (pid=6780):处理 WSGI 脚本“C:/temp/wsgi_test.py”时发生异常。[2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1] 回溯(最近一次通话最后):[2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1] 文件“ C:/temp/wsgi_test.py",第 8 行,在 [Fri Aug 10 13:03:45 2012] [error] [client 127.0.0.1] 1] mod_wsgi (pid=6780): 处理 WSGI 脚本 'C:/temp/wsgi_test.py' 时发生异常。[2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1] 回溯(最近一次通话最后):[2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1] 文件“ C:/temp/wsgi_test.py",第 8 行,在 [Fri Aug 10 13:03:45 2012] [error] [client 127.0.0.1] 1] mod_wsgi (pid=6780): 处理 WSGI 脚本 'C:/temp/wsgi_test.py' 时发生异常。[2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1] 回溯(最近一次通话最后):[2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1] 文件“ C:/temp/wsgi_test.py",第 8 行,在 [Fri Aug 10 13:03:45 2012] [error] [client 127.0.0.1]
导入 jcc [2012 年 8 月 10 日星期五 13:03:45] [错误] [客户端 127.0.0.1]
文件“c:\Python27\lib\site-packages\jcc-2.8-py2.7-win32.egg\jcc\__init__ .py”,第 34 行,在 [Fri Aug 10 13:03:45 2012] [error] [client 127.0.0.1] from _jcc import initVM [Fri Aug 10 13:03:45 2012] [error] [client 127.0. 0.1] ImportError:DLL加载失败:找不到指定的模块。

Lucene 似乎可以在 Python Shell 中工作:

这是 python -m jcc.__main__ 的输出

为了证明 mod_WSGI 安装正确:我在下面创建了 ac:\temp\wsgi_test.py 文件:

它返回:

sys.version = '2.7.1 (r271:86832, Nov 27, 2010, 18:30:46) [MSC v.1500 32 bit (Intel)]' sys.prefix = 'c:\Python27' sys.path = [ 'c:\Python27\lib\site-packages\south-0.7.3-py2.7.egg', 'c:\Python27\lib\site-packages\django_admin_tools-0.4.0-py2.7.egg', 'c:\Python27\lib\site-packages\jcc-2.8-py2.7-win32.egg', 'c:\Python27\lib\site-packages\lucene-3.1.0-py2.7-win32.egg ', 'c:\Python27\lib\site-packages\oauth2-1.5.170-py2.7.egg', 'c:\Python27\lib\site-packages\httplib2-0.7.2-py2.7.egg ', 'c:\Python27\lib\site-packages\django_social_auth-0.6.0-py2.7.egg', 'c:\Python27\lib\site-packages\python_openid-2.2.5-py2.7.egg ', 'c:\Python27\lib\site-packages\python_dateutil-1.5-py2.7.egg', 'c:\Python27\lib\site-packages\distribute-0.6.24-py2.7.鸡蛋','c:\Python27\lib\site-packages\django_chronograph-0.2.0.dev-py2.7.egg','c:\Python27\lib\site-packages\pyofc2-0.1.5dev-py2。 7.egg'、'c:\Python27\lib\site-packages\anyjson-0.3.1-py2.7.egg'、'c:\Python27\lib\site-packages\django_pagination-1.0.7-py2。 7.egg'、'c:\Python27\lib\site-packages\gdata-2.0.17-py2.7.egg'、'c:\Python27\lib\site-packages\flickrapi-1.4.2-py2。 7.egg'、'c:\Python27\lib\site-packages\threadpool-1.2.7-py2.7.egg'、'c:\Python27\Lib'、'c:\test\git_repo\src'、 'c:\test\git_repo\src\plunk4', 'c:\test\git_repo\src\plunk4\feeds', 'C:\Python27\Lib\site-packages\lucene-3.1.0-py2.7- win32.egg\lucene', 'C:\Python27\Lib\site-packages\lucene-3.1.0-py2.7-win32.egg\lucene\lib', 'C:\Program Files\Java\jdk1.6.0_30\jre\bin','C:\Program Files\Java\jdk1.6.0_30\jre\bin\client','C:\Program Files\Apache Software Foundation\Apache2. 2', 'C:\WINDOWS\system32\python27.zip', 'c:\Python27\DLLs', 'c:\Python27\lib\plat-win', 'c:\Python27\lib\lib-tk' , 'C:\Program Files\Apache Software Foundation\Apache2.2\bin', 'c:\Python27', 'c:\Python27\lib\site-packages', 'C:/Python27/Lib/site-packages ', 'C:/Python27/Lib/site-packages/lucene-3.1.0-py2.7-win32.egg/lucene', 'C:/Python27/Lib/site-packages/lucene-3.1.0-py2 .7-win32.egg/lucene/lib', 'C:/Python27/Lib/site-packages/JCC-2.8-py2.7-win32.egg/jcc.dll', 'C:/Python27/Lib/site -packages','C:/Python27/Lib/site-packages/lucene-3.1.0-py2.7-win32。egg/lucene', 'C:/Python27/Lib/site-packages/lucene-3.1.0-py2.7-win32.egg/lucene/lib', 'C:/Python27/Lib/site-packages/JCC- 2.8-py2.7-win32.egg/jcc.dll']wsgi.multithread = Truemod_wsgi.process_group =''

我尝试了以下参考来解决问题: http ://code.google.com/a/apache-extras.org/p/pylucene-extra/wiki/PyLucene

Apache 无法导入/没有名为 Django 的模块错误

lists.osafoundation.org/pipermail/pylucene-dev/2007-November/002070.html

grokbase.com/t/lucene/pylucene-dev/125t3g2ph6/jcc-dll-loading-error