问题标签 [nhibernate.search]
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.
c# - 是否可以结合 SOLR 和 NHibernate Search
我是 SOLR 的新手,但我知道它是建立在 lucene 之上的。我想知道是否可以使用现有的 NHibernate Search(显然直接与 Lucene 一起使用)来添加/更新 SOLR 中的项目?如果是这样,这是否被认为是一种不好的做法?
预先感谢,
J.P
fluent-nhibernate - 使用 Fluent NHibernate Search 从搜索中排除对象的最佳方法
我有一个带有布尔属性的类。
我想从搜索结果中排除具有错误值的实例。
使用 Fluent NHibernate Search 的最佳方法是什么?
nhibernate - 使用 Nhibernate 急切加载树/层次结构
这不是一个问题,过去几天我一直在研究这个主题,并认为我想贡献一些东西来吸引我一直在阅读的许多不同的想法,并提出我的解决方案问题...
问题是在 Nhibernate 中急切加载 n 级子对象,并且 nHibernate 将不知道树的深度。我已经看到通过使用直接 sql 和 Union All 解决了这个问题,但不幸的是我无法让它工作,通常是因为 nhibernate 不知道你已经急切地加载了对象。因此,我查看了以下代码,以使用标准急切加载对象
这将急切加载 ID 1 的孩子,从这里您可以使用 In 语句一次急切加载多个实体。所以我只需要计算出属于这个层次结构的所有节点 id 并使用 In 语句急切地加载它。
因此,如果我为层次结构创建一个父表并且每个节点都有一个层次结构 ID,那么我可以使用这个 hql 获取该层次结构的所有节点 ID 的列表
并从这里急切地使用这棵树单独加载所有孩子
唯一的问题是您没有从层次结构父表中急切加载第一级节点,这可以正常完成..
就是这样,在三个 SQL 语句中,您已经将一个子对象急切地加载到 n 级。为了进一步优化,我使用多查询将两个主要查询链接在一起并同时发送两个语句。拉回id的语句需要独立执行才能拉回id。
可以在此处找到使用 MultiCriteria 进行预加载的更多详细信息。
希望这对某人有所帮助
nhibernate - Lucene.Net 和 Nhibernate.Search:如何管理复杂的搜索?
我们有一个 SQL Server 数据库,其中包含由Lucene.net
through索引的数百万条记录Nhibernate.Search
。当我们为我们的类建立索引时,我们试图扩大范围,因为索引/检索的成本非常小。目标是在带有分页的网页上为用户提供全文搜索。
由于 SQL Server 在向其发送太多参数时会抱怨(默认为 2100 个参数),并且由于我们不想在每次达到限制时更改该参数(这很容易发生,我们文档中的某些术语非常常见但必须可搜索)我们决定在 Lucene 中处理从排序到分页的所有事情。它就像一个魅力。
然而,最近,特性蠕变给我们带来了一些问题,因为新查询不仅需要访问未编入索引的字段,还需要访问不应访问或无法访问的字段:计算字段、推荐列表等。 ..
既然我们已经将所有的分页和排序都放在了 Lucene.Net 中,而且 SQL Server 对它的参数很挑剔,那么我们如何才能做到既吃又吃呢?
我正在考虑首先进行 sql 查询计算,将元素减少到它们的 doc id,然后为 Lucene 提供一个带有所有可能 id 的巨大 OR 查询,让它正确选择可能的内容,但我担心查询大小
伪代码
显然,可以通过只允许某些文档 ID 作为查询的一部分来使 Lucene 过滤器工作,所以应该是可能的,但我真的没有在 Nhibernate.search 中看到这样做的方法
你知道我应该如何处理这个问题吗?是否可以通过向 SQL 询问 id 列表来过滤查询?是不是矫枉过正?还有其他解决方案吗?
nhibernate - 是否可以使用 nhibernate.search 和 nhibernate 3.0
伙计们,我还没有找到任何与 nh3 兼容的 nhibernate.search 程序集。好像还没有完成。我希望我错了。
nhibernate - NHibernate 搜索 Lucene.NET SearchFactory 为空
几个小时以来,我一直在努力解决以下问题。我尝试使用不同的 NHibernate/NHibernate.Search 程序集(3.0.0.4 / 2.1.2),它们都导致相同的错误。使用的 Lucene 版本是 2.9.2.2
所有这些都是从源代码编译的。NHibernate 设置为使用 NHibernate Search,配置通过 Fluent NHibernate。
到目前为止一切顺利,在 bin 文件夹(segments.gen 和segments_1 文件)的Index 目录中创建了一个索引。
创建配置后,我获取 NHibernate Session 并尝试索引某些内容:
这一切正常,直到 fts.PurgeAll 或 fts.Index 被击中,这给出了这个错误:
这个错误是从 NIBerate.Search.dll 引发的,看起来 SearchFactory 没有被初始化。应该创建 SearchFactory 的代码返回 null:
遇到了几种可能的解决方案,我需要使用 SearchFactory.Initialize 初始化 SearchFactory,但我的 (2.0 / 3.0) NHibernate.Search 程序集中不存在这种方法。
也抛出一个“空异常”(当然),上面是调用:
其中 searchFactory == null
有一个 SearchFactoryImpl
它返回一个 SearchFactoryImpl 实例,但不知道如何处理它......
也许我错过了什么?任何帮助深表感谢。
s#arp-architecture - S#arp 架构 + NHibernate.Search + DocumentId
我是 NHibernate.Search 的新手,遇到了一个需要帮助的问题。
我需要在我的 ID 字段中添加一个 [DocumentId] 属性,但是 Id 字段在 Entity 类中...我在 stackoverflow 上找到了一些代码,这些代码在我的 POCO 中完成了此操作:
但是当我UpdateModel()
在控制器中运行该函数时,出现异常:
异常详细信息:System.Reflection.AmbiguousMatchException:找到不明确的匹配项。
我认为模型绑定器看到 2 个 Id 字段,但是我不确定解决这个问题的最佳方法。
保罗
nhibernate - NHibernate - 定义 where 条件
在我的应用程序中,用户可以定义搜索条件。他可以选择一列,设置一个运算符(等于、喜欢、大于、小于或等于等)并给出值。用户单击按钮后,应用程序应使用条件对数据库进行搜索。我使用 NHibernate,现在问我,使用 NHibernate 最有效的方法是什么。
我应该用它创建一个查询吗(Column=Name, Operator=Like, Value=%John%)
或者我应该用 HQL 做到这一点:
还是有更好的解决方案?
谢谢你的帮助。
最好的问候,托马斯
.net - NHibernate.Search + Lucene.NET 重复条目
当我从现有数据库构建初始索引时,Lucene 中的条目类型被索引为 <_hibernate_class:Castle.Proxies。MuestraProxy , DynamicProxyGenAssembly2>
但是,当使用 NHibernate 添加新实体时,它会被索引为 <_hibernate_class:RALVet.Model。Muestra , RALVet>} 在 Lucene 中创建重复条目,一个作为真实类,另一个作为其代理。
我在构建索引时尝试使用 NHibernateUtil.GetClass() 但它仍然返回代理。
这是构建初始索引的代码:
lucene.net - NHibernate.Search - 在运行时设置索引目录
我正在构建一个多租户应用程序,并希望为每个租户创建单独的索引,但是我似乎找不到在运行时为 NHibernate.Search 索引我的数据时设置索引目录的方法。
这似乎是使用我的配置文件中的索引目录,有没有办法解决这个问题?
谢谢,保罗