- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每个内容都有一些描述
字段,它们是:
对于 content1
:
敏捷的棕色狐狸跳过懒惰的狗。而且懒狗还不错。
对于 content2
:
懒雾很疯狂。
现在,当我使用关键字 = lazy dog
时,我想将结果作为 content1
而不是 content2
我试过:
BaseSearchProvider searcher = ExamineManager.Instance.SearchProviderCollection["MySearch"];
ISearchCriteria criteria =
searcher.CreateSearchCriteria()
.GroupedAnd( new List<string> { "description" }, "lazy dog") )
.Compile();
ISearchResults result = searcher.Search( criteria );
但它没有给我想要的结果,它给了我结果:content1
和 content2
。
我应该怎么做才能获得 content1
结果?
最佳答案
默认情况下 examine 将此查询编译为:
+(+description:lazy dog)
并基于它返回包含以下两个词的结果:lazy 和 dog 词。
你想要实现的是:
+(+description:"lazy dog")
您首先需要尝试的是转义该短语。在您的情况下,它将是:
BaseSearchProvider searcher = ExamineManager.Instance.SearchProviderCollection["MySearch"];
ISearchCriteria criteria =
searcher.CreateSearchCriteria()
.GroupedAnd( new List<string> { "description" }, "lazy dog".Escape()) )
.Compile();
ISearchResults result = searcher.Search( criteria );
现在无法对其进行测试,但据我所知,它过去存在一些问题。第二种选择可能是您的救命稻草,它可能是手动构建搜索查询并使用原始查询。
BaseSearchProvider searcher = ExamineManager.Instance.SearchProviderCollection["MySearch"];
ISearchCriteria criteria = searcher.CreateSearchCriteria();
var query = criteria.RawQuery("+description:\"lazy dog\"");
ISearchResults result = searcher.Search( query );
它应该只返回正确 = 匹配的结果。就我个人而言,我也使用了一些特定单词的提升来将一些结果指向得分列表中更高的结果,但如果您只想拥有匹配的项目,请尝试上述解决方案,如果它对您有帮助,请告诉我。
如果您想处理多个属性,您可以使用一些流畅的 API 方法,如 GroupedAnd 或 GroupedOr(取决于所需的搜索行为)或构建更高级的原始查询。
对于第一个选项,请查看Grouped Operations 文档:https://github.com/Shazwazza/Examine/wiki/Grouped-Operations .
对于第二种情况,最好分析它是如何完成的,例如在 ezSearch 包中(顺便说一句,太棒了!):https://github.com/umco/umbraco-ezsearch/blob/master/Src/Our.Umbraco.ezSearch/Web/UI/Views/MacroPartials/ezSearch.cshtml .
关于lucene - 使用 Umbraco Examine 按短语中的确切单词搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39641983/
每个内容都有一些描述字段,它们是: 对于 content1: 敏捷的棕色狐狸跳过懒惰的狗。而且懒狗还不错。 对于 content2: 懒雾很疯狂。 现在,当我使用关键字 = lazy dog 时,我想
我想在一个 SQL 语句中获取检查日期、测试值和测试名称。我可以分两个阶段完成,但不能一次完成。当我尝试组合它时,我收到标题上所示的错误。 这里是产生错误的SQL语句: select date, va
免责声明:我是 python 和 Django 的新手,但有 Drupal 编程经验。 我正在按照这里的教程 (http://www.djangobook.com/en/2.0/chapter05/)
我正在使用 gdb 探索 Linux 上的核心文件,在检查内存地址时我注意到奇怪的行为: (gdb) x/f 0xbd091a10 0xbd091a10: 0 (gdb) x/g 0xbd09
我已经在生产环境中使用 Umbraco 构建了一个应用程序大约一个月,没有出现任何问题,但今天,我的大部分 Razor 脚本宏都抛出了一个神秘的异常错误。 错误是: Error loading Raz
我正在尝试实现一个 Firefox 扩展,它过滤传入的 HTTP 响应并相应地处理它们。 我希望阻止包含特定 header 的 HTTP 响应。阅读了一些 MDC 文章后,似乎观察 HTTP 响应的最
我正在使用 nsIObserverService 来监视响应,但它会触发所有选项卡的事件(Mozilla 术语中的浏览器)。我想知道哪个浏览器在我的观察方法中得到响应。 最佳答案 这sample co
我正在尝试使用 EXPLAIN 优化此 mysql 查询。有人可以帮我解决这个问题吗? EXPLAIN SELECT * FROM keyword WHERE keyword LIKE "panaso
我在下面有一个解释结果,问题是如何计算检查的总行数?请详细解释一下~(先问问题~如有错误请指正,不胜感激) id select_type type possible_keys key_le
我正在开发一个 Firefox 插件,它需要拦截 HTTP 请求过程并为某些 URL 返回虚假响应。这是我正在使用的代码: function TracingListener() { this.
我正在使用 PHP 和 MySQL。在我的程序中有一个涉及连接的选择查询。当我在本地主机上运行它时它工作正常但是当我将它上传到我的服务器并尝试执行它时它会生成以下错误: SELECT 将检查超过 MA
我是新手,我尝试启动一个链接到 Optaplanner 的 Spring 应用程序,它将解决问题并将考试安排在时间表上。我解决了缺少 jars 的各种问题,并在 main 上启动了该应用程序。但是,它
例如下面的代码“justatest”和格式“%s”在堆中定义: char str[15]="justatest"; int main(){ printf("%s",str); retu
我正在使用 MySQLi Procedural 从 MYSQL 数据库运行查询。我只看到这是如何使用 MySQLi 面向对象代码完成的。 它在本地主机上完美运行,但在远程服务器上我收到一条错误消息,指
我有一个调度线程和一个监听线程。当我发送命令时,我想在发送后续命令之前等待响应。此外,我需要先检查响应,然后才能继续执行第二条命令,其中最重要的是确认已收到响应并且一切正常。我的伪代码如下: void
我想编写一个 gdb 函数来根据参数的类型打印某些东西的值,例如: define psmart if (whatis $arg0) =~ vector pvector // stl-v
如何编写急救单元测试? 我正在尝试编写一个测试来确认一个方法将焦点推进到下一个文本字段。 controller 是 UIViewController 的后代。但是这个探索性测试失败了: - (void
我想了解是否有一种方法可以在不检查整个流的情况下终止缩减操作,但我想不出办法。 用例大致如下:假设有一长串 Integer 需要折叠到一个 Accumulator 中。每个元素检查都可能很昂贵,因此在
我正在尝试使用 XmlProvider解析一些非常大的数据文件(大约 50 MB)。由于它们太大,使用真实数据文件作为示例是不切实际的,因此我创建了一个示例 XML 文件,我希望是可用数据的代表性示例
我有一个大项目,以及一系列 C++ 类成员函数,形式如下: Return CClass::MemberFunction( Arg1 arg1, //... std::weak_ptr
我是一名优秀的程序员,十分优秀!