问题标签 [query-parser]
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.
search - 搜索引擎是否(或应该)分析引号中的查询?
当用户在引号中输入搜索词时,搜索引擎应该准确地搜索引号内的内容,还是应该像不带引号的查询一样对查询进行一些分析?
例如,查询是否应该 "U.S. of America"
匹配US of America
?同样,查询应该"foo-bar"
匹配foo bar
吗?当这些查询不在引号中时,我会假设答案是肯定的,它们应该匹配。但是,当放在引号中时,用户暗示他们正在寻找完全匹配的内容。问题是如何准确。
我知道这更像是一种设计选择而不是编程选择,但是我该如何回答这个问题呢?如果被问到,我的用户可能不知道我在说什么。这里有一个简单的答案吗?
solr - 修改solr中的查询关键字
当我们从前端获取查询为“市场调查rm”时,需要在Solr中将其更改为“市场调查系统”并触发搜索。有没有办法实现它?
elasticsearch - ES 能否支持 Surround 查询解析器?
我可以更改 ES 查询解析器以支持“环绕查询解析器”吗?
org.apache.lucene.queryParser.surround.parser.QueryParser
并做一些在 查询解析器中提到的事情
或者 这里提到的东西
或者可以在 ES 中以其他方式做到这一点吗?我是搜索引擎的新手。任何建议都会受到赞赏。
c# - Lucene.Net(3.0.3 或 4.8.0)QueryParser 可以搜索数字吗?
我从 Lucene.Net 4.8 演示项目 ( https://github.com/synhershko/LuceneNetDemo ) 开始。我的目标是能够使用查询解析器(QueryParser 或 MultiFieldQueryParser)来搜索文本和数字。那可能吗?我发现的只是使用范围 (NumericRangeQuery) 的示例,或构建我自己的查询解析器的建议。我无法确定是否可以通过现有的查询解析器创建范围?
lucene - 在 lucene 中使用通配符搜索多词短语
使用以下代码块:
其中 fieldValue 是用户输入,fieldList 是一组字段列表。我正在使用标准分析仪。
我需要能够在启用通配符的情况下搜索多个单词。在当前状态下,当用户输入搜索词(例如“搜索”)时,我的应用程序中的逻辑会将 * 添加到任一侧,使其成为“*搜索*”。这带来了预期的结果。
但是,如果用户输入“search s”,它将在所有字段中搜索“*search”,然后再次在所有字段中搜索“s*”;返回的方式超过了预期的结果。我试图转义特殊字符/空格,但这也删除了通配符搜索,因为“*”是一个特殊字符。我已经尝试使用转义方法并在 fieldValue 字符串中添加“\””。有没有办法封装整个短语来搜索并在搜索词的开头和结尾附加星号?
java - 处理 yo 和 ye 的 Lucene 分析器(俄语字符)
我正在使用 Lucene 并StandardAnalyzer
在我的代码中创建索引,但是,“Yo”和“Ye”(Ё 和 Е)存在问题。
我想要带有“yo”的搜索结果也需要带有“ye”的结果,反之亦然。我尝试StandartAnalyzer
使用自定义过滤器创建新的 Analyzer 类,类似于 ,但我没有运气。我也很熟悉RussianAnalyzer
,但它似乎对我不起作用,因为它分别对待 'yo' 和 'ye' 。
这是我正在使用此分析器的块:
在此之后,我queryParser.parse()
和其他查询构建了用于搜索的东西。
问题是:执行此操作的正确方法是什么?我应该使用我的自定义 TokenFilter 吗?或者,也许,我自己的 CharFilter?
维基百科链接到有问题的字符:https://en.wikipedia.org/wiki/Yo_(Cyrillic) https://en.wikipedia.org/wiki/Ye_(Cyrillic)
solr - Solr 突出显示 - 未找到/未突出显示变音符号的术语
我正在玩 7.2 版本的 solr。我上传了一组不错的德语文本,并尝试查询和突出显示一些查询。
如果我使用高亮触发此查询:
我收到了一个很好的回复:
但是,如果我提供Kündigung
作为突出显示的文本,我没有得到任何答案,因为文本/查询解析器将所有ü
字符替换为u
.
我有一种感觉,我需要提供正确的 qparser。我应该如何指定它?在我看来,该集合是使用默认LuceneQParser
解析器构建和查询的。如何在上面的 url 中提供这个解析器?
更新:
http://localhost:8983/solr/trans/schema/fields/trans
返回
更新 2:所以我查看了我的 solr 安装/收集模式配置的托管模式,发现以下内容:
我解释信息的方式是,由于省略了查询和索引部分,因此上述代码对于查询和索引都是相同的。其中...没有显示任何类似于下面的答案 2 的错误配置问题...
不过我记得,添加trans
带有 type的字段text_de
:
我已经删除了所有使用的文件
然后再次重新插入它们:
这是在solr中“重建”索引的正确方法吗?
更新 3:标准 JAVA 安装的字符集设置未设置为 UTF-8:
更新 4:使用 UTF8 设置重新启动 solr:
检查JVM设置:
重新插入文档。没有变化:http://localhost:8983/solr/trans/select?q=trans:Zeit&hl=true&hl.fl=trans&hl.q=Kundigung&hl.qparser=lucene&hl.snippets=3&rows=1&wt=xml
给出:
http://localhost:8983/solr/trans/select?q=trans:Zeit&hl=true&hl.fl=trans&hl.q=K%C3%BCndigung&hl.qparser=lucene&hl.snippets=3&rows=1&wt=xml
给出:
uchardet all.json
( file -bi all.json
) 报告UTF-8
windows下从ubuntu子系统运行:
更新 5不提供hl.q
(http://localhost:8983/solr/trans/select?q=trans:Kundigung&hl=true&hl.fl=trans&hl.qparser=lucene&hl.snippets=3&rows=1&wt=xml
或http://localhost:8983/solr/trans/select?q=trans:K%C3%BCndigung&hl=true&hl.fl=trans&hl.qparser=lucene&hl.snippets=3&rows=1&wt=xml
):
在这种情况下,hl.q
从查询本身中提取了突出显示的术语,并且做得非常好..
oracle - 有没有办法列出 ORACLE 查询中使用的表和列?
我有一个巨大的 Oracle 查询(约 20k 行),我需要列出该查询中使用的所有表和列。我用谷歌搜索并发现了一些 SQL-Parser 工具和插件,但它们对我没有用。
在 perl 库下面找到,但它不处理 TO_DATE 和 TO_CHAR 列。它正在抛出错误。
http://search.cpan.org/~rehsack/SQL-Statement-1.412/lib/SQL/Parser.pm
有没有其他方法可以列出查询中使用的所有表和列?
solr - 在 Solr 中使用自定义查询解析器操作查询
我试图创建一个 CustomQueryParser,我也在其中使用 OpenNLP 库。
我的目标是,如果我有一个疑问“有多少有缺陷的轮辋导致中国的 ABC 轮胎出现故障”
我希望最终查询类似于“有缺陷的轮辋故障轮胎中国”,然后将转到分析器进行进一步处理。
这是我的 QueryParserPlugin 代码 -
还有我的 QueryParser 的代码 -
然后我将其导出为 jar 并将这些 jar 添加到我的 solrconfig.xml -
但得到以下错误:
造成的:
这是我第一次创建 CustomQueryParser,请您帮帮我。
谢谢
solr - CustomQueryParser 没有检索到正确的文档?
我使用 OpenNLP 设计了我的 CustomQueryParser 来转换查询,使其只包含带有 POS 标签“JJ”、“NNS”和“NN”的术语。
Example Query =这就是为什么
在 CustomerQueryParser = hewlett packard test之后所有的 hewlett packard 和 test Query
但不知何故,当我从速度查询时,检索到的文档不遵守上述规则。此外,默认的 q.op 字段不遵循 solrconfig.xml 文件中指定的“与”。
我假设在 CustomQueryParser 之后,查询会使用 queryAnalyzer 进行进一步的转换。
有人可以指出我可能会出错的地方。
谢谢