问题标签 [compass-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.
mysql - 尝试在 for 循环内连续将文档添加到 lucene 索引时引发异常
我正在使用“compass-2.2.0”在 MySql 数据库表中创建一个 lucene 索引。这是我索引文档的代码的一部分,在尝试在 for 循环内连续将文档添加到 lucene 索引时抛出异常。有什么办法可以克服这个错误吗?
我的托管服务器是基于 Wso2 Stratoes Tomcat 的服务器和 Wso2 Stratoes 数据服务服务器。我的程序在本地 tomcat/mySql 服务器上工作。
这是我关注的示例博客文章- http://mprabhat.wordpress.com/2012/08/13/create-lucene-index-in-database-using-jdbcdirectory/
这是我得到的新错误,我使用的服务器不允许创建临时文件。在尝试将内容写入数据库时,它会以某种方式创建临时文件。我在上面的循环中进行了调试,大约 5 次迭代它成功然后发生以下错误。任何解决方法来克服这个错误?
java - 使用标准分析器清理 Lucene 搜索词
我们正在从搜索词字符串中构建一个布尔查询来搜索我们的 Lucene 索引。我希望使用标准分析器来分析这些字符串,标准分析器是我们用于索引的分析器。例如,foo-bar 1-2-3
应该分解为foo
, bar
,1-2-3
因为 Lucene 文档指出连字符会导致数字保持在一起,但单词会被标记化。做这个的最好方式是什么?
目前我正在通过 QueryParser 运行我的搜索词字符串。
这样做的问题是插入了引号。例如,foo-bar 1-2-3
变成"foo bar"
, 1-2-3
,它不会返回任何东西,因为 Lucene 会被标记foo-bar
为foo
and bar
。
我绝对不想通过删除引号来破解这种情况,replace
因为我觉得我可能遗漏了一些东西或做错了一些事情。
lucene - 在数据库中存储 lucene 索引时出现异常
我正在使用 lucene 4.0.0 版和 compass 2.2.0 在 Mysql 中存储 lucene 索引。
我收到以下错误并坚持下去。
而且你能告诉我哪个会表现更好。将索引存储在 FS 或 DB 中?
grails - Lucene Grails Searchable plugin build index for part of the table
我有一个可搜索的域类映射到具有标志列的表。目前,当 Lucene 创建索引时,它会生成这样的查询(返回表中的所有数据):
是否可以仅为那些包含特定标志值的行构建索引,以便生成的查询如下所示:
grails - Grails 可搜索插件 - 过滤结果集
我目前正在使用 Lucene。我的要求就像 facebook 搜索框。用户搜索人和朋友。但在我的要求中,用户有隐私设置,如姓名、位置、电子邮件地址对所有人或只有朋友可见。他可以向朋友和社区的其他成员显示和隐藏这些字段。
我已经实现了基于姓名、位置和电子邮件地址的简单搜索。但现在我正在根据隐私设置修改搜索。
这是我的场景..
用户 A有隐私设置:
姓名只显示给朋友
电子邮件显示给每个人
位置不显示给任何人。
如果用户 X在搜索框中键入用户 A的位置,那么它不应该出现在结果中。但是如果用户 X 在搜索框中输入用户 A的名称,则应该显示它,因为用户 A没有限制名称,并且在隐私设置中对他的朋友可见。
你能指导我的方法吗?
如果我没有清楚地写下我的要求,请告诉我。
我分析了以下方法,
1- IndexSearcher 的解释方法(它会影响整体性能)
2- 探索过滤器但不能得到太多
我的方法:
根据名称
获取结果集 根据位置
获取结果集 根据电子邮件地址获取结果集
循环每 3 个结果集并应用与隐私设置相关的条件,并根据隐私设置排除项目。最后合并所有 3 个结果集。
如果有其他方法吗?请与我分享。谢谢。
lucene - Grails Searchable Plugin(Lucene) - 一对多查询
我正在使用圣杯的searchable plugin(0.6.4)
. 我需要根据隐私设置搜索会员。以下是数据库设计。会员有MemberProfile, and MemberProfile has PrivacySettings
一个成员个人资料的每个字段都有许多隐私设置。
只搜索那些在隐私设置表中的 fieldsSectionName 和 connectionLevel 中具有 display_name 的成员的查询将是什么。
我正在尝试这样的事情
mysql - Grails hibernate/Searchable 通过给出以下异常来停止服务器启动
我们在我们的 Grails 应用程序中使用 Grails 2.1.1 和 Searchable 插件 0.6.4,并在一些域上实现了可搜索,如下所示,所有映射。
使用正确的映射和约束成功保存数据。
当我们在具有关系的表用户中有下面的drowslike时,问题就开始了
用户 a1 -> UserEducations b1 -> 学校 d1
和
用户 a2 -> UserEducations b2 -> 学校 d1
或者
用户 a1 -> UserWorkings c1 -> 组织 e1
和
用户 a2 -> UserWorkings c2 -> 组织 e1
(我们不确定上述事实可能是由于大量数据而发生的问题。)
然后当我们尝试启动服务器时,我们收到以下异常并且服务器无法启动
我们尝试删除可搜索索引并重新启动,然后它也无法启动。
仅当我们截断与上述 5 个域对应的表时,服务器才会启动。
我们的问题类似于下面的帖子
我们已尽力解决问题,但没有运气。请帮助我们解决这个问题。
grails - Grails lucene 搜索花费了过多的时间
作为背景,我在我的应用程序中使用 Grails v2.2.1 和 Searchable 插件 (v0.6.4),尽管在配置 Lucene 方面我是新手。
日志显示搜索需要 26 毫秒,但罗盘事务大约需要 15 秒才能返回:
2013-04-23 00:40:34,269 DEBUG grails.plugin.searchable.internal.
compass.search.DefaultSearchMethod - query: [+kind:band +name:snoop], [4] hits, took [26] millis
2013-04-23 00:40:49,965 DEBUG org.compass.core.transaction.LocalTransaction - Committing local transaction on thread [http-bio-8080-exec-10] Compass [1176020804] Session [2089649487]
与 Lucene 相比,这似乎是 Compass 的问题,因为查询执行速度很快,但 Compass 映射将我的 Java 进程固定在接近 100% CPU 并且挂起时间过长。
我索引了大约 3500 个域对象,我的域模型如下所示:我尝试仅索引字段名称和 id,但通过 Luke 看到它似乎映射了域中的所有内容。
我的控制器中的乐队搜索逻辑:
任何想法将不胜感激。这是我的一个自学项目,我真的很想以正确的方式进行搜索。:) 谢谢,凯文
grails - 投影 Grails 可搜索插件结果集
我对域类及其关联的域类有一个复杂的可搜索配置。当我搜索大约 200 个结果(最大:200)时,响应时间太长。
在结果集中,我为我的域类中的搜索指定了所有字段(简单或关联)。我只需要返回一个 id 列表并忽略 domain class 的其他字段。是否可以?我想这样做是为了加快搜索速度。此 id 列表将用于查询另一个 no-sql 数据库。似乎获取所有字段正在减慢我的搜索速度。
grails - Grails Searchable 插件添加到索引条件
我有域:
我想在搜索索引中只有地址为 !=null 的对象。可以通过配置实现吗?