第一次使用Lucene,所以如果某些术语不正确,我会提前道歉。
我正在修改一个Lucene
查询,没有得到预期的结果。搜索词用于构建布尔查询,我需要添加一个额外的字段进行搜索。这个名为标签
的字段已经是索引的一部分(通过Lucene的Luke
确认),但尚未包含在搜索中。
当前布尔查询如下所示:
if (!String.IsNullOrEmpty(settings.SearchTerm))
{
booleanQuery.Add(KeywordQuery(settings.SearchTerm, analyzer), Occur.Must);
}
private Query KeywordQuery(string searchTerm, StandardAnalyzer analyzer)
{
var parser = new MultiFieldQueryParser(Version.LUCENE_29, new[]
{
LuceneMedia.IndexFields._Title,
LuceneMedia.IndexFields.Description
}, analyzer);
string sTerm = LuceneUtilities.AddSearchWildCard(searchTerm);
Query query = LuceneUtilities.ParseQuery(sTerm, parser);
return query;
}
(indexFields
是引用字段名称的常量
)
我认为这将是一个扩展标记数组的例子,如下所示:
new[]
{
LuceneMedia.IndexFields._Title,
LuceneMedia.IndexFields.Description,
LuceneMedia.IndexFields.Tags
},
但是当搜索我知道存在的标签
时,这买回了没有结果,但是我知道存在的标题
的结果。所以我想也许我应该改变OCCURS。必须
到OCCURS。应该
但是>tag
搜索返回所有结果。
我做错了什么?
这是搜索多个字段的正确方法,不幸的是我没有重新索引!
使用Lucene的标准分析仪。有问题的标题字段未存储、已分析。查询如下: 在Luke中,此查询被正确地重新编写为: 我以为Lucene.net版本是: 但是,没有返回任何结果。 然后我试着: 这一切都如期而至! 这两个查询都是通过:_searcher执行的。搜索([查询对象],[排序对象]) 有人能给我指出正确的方向,看看TermQuery和_解析器之间的区别吗。GetFieldQuery()是什
问题内容: 我正在尝试通过将新记录更新或插入新的记录到 voice_user_table中 来更新数据库。该表定义如下: 这是我正在使用的查询。我实际上对所有值都使用了参数,但是出于测试目的,我将其替换为我确定应该可以使用的值。用户名 aaa@aaa.com 存在。 运行查询后,我得到的输出是: 尽管应该插入新值,但是因为该行在数据库上尚不存在。当我仅使用insert子句手动插入一行,然后执行上面
查询用于返回区块链世界状态的数据; 例如,你可以编写一个查询来返回指定年龄的所有司机,或具有指定名称的所有司机。composer-rest-server组件通过生成的REST API暴露命名查询。 查询是业务网络定义的可选组件,用一个查询文件(queries.qry)编写。 注意:使用Hyperledger Fabric v1.0时,Hyperledger Fabric必须配置为使用CouchDB
本文向大家介绍检查Docker网络,包括了检查Docker网络的使用技巧和注意事项,需要的朋友参考一下 示例 此命令将输出有关app-backend网络的详细信息。 此命令的输出的外观应类似于:
我参考了以下链接,用于查询超分类器Fabric网络中的分类器: http://hyperledger-fabric.readthedocs.io/en/release/write_first_app.html 在上面的链接中,他们给出了git-hub链接,在这个链接中我已经完成了所有的步骤,比如,-启动网络-运行查询到分类帐的节点脚本,比如invoke.js,query.js 但是在那个脚本中,他
我们一直在围绕空手道netty的模拟功能进行一些概念验证工作,我们想知道以下方面的潜在未来功能: 在服务器启动后动态添加/删除模拟功能(例如,将模拟功能更紧密地耦合到单个测试用例) 在启动时利用多个模拟功能(或嵌套功能) 谢了麦克