问题标签 [elasticsearch-analyzers]
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.
elasticsearch - 无法根据查询和文档标记化从弹性搜索中获得正确的结果
我正在尝试实现一个需要使用 Edge NGRAM Tokenizer 的搜索系统。创建索引的设置如下所示。我对文档和搜索查询都使用了相同的标记器。(文件为波斯语)
当我在文档中搜索术语“آلمانی”而获得 0 个命中(结果)时,问题就出现了,而我有一个包含数据的文档:“آلمان خوب است”。
如您所见,分析术语“آلمانی”的结果表明它生成了令牌“آلمان”并且工作正常。
下面显示的搜索查询获得 0 次点击。
然而,搜索词“آلما”返回带有数据“آلمان خوب است”的文档。我该如何解决这个问题?
您的帮助将不胜感激。
elasticsearch - ElasticSearch - 在 URLS 中搜索产品的分析器
我是 ES 的新手。
我有 3000 个关键字,需要将它们与数百万个具有 url 编码字符(如“+”)的 URL 匹配。
喜欢
品牌在哪里BrownCars
。
到目前为止,最好的工作分析器是pattern
但它放弃了+
这很重要。
那么我怎样才能取消过滤字符+
呢?
还是有更好的分析器来完成这项任务?
elasticsearch - elasticsearch 同义词分析器给出 0 个结果
我正在使用elasticsearch 7.0.0
.
我正在尝试synonyms
在创建index
.
这是插入索引的文档:
还有内容synonyms.txt
:
address.state
当我尝试在财产中搜索任何东西时,我得到了empty
结果。
这是查询:
即使ny
在查询中使用(原样:无同义词),结果也是空的。
之前,当我创建不带 的索引时mappings
,查询用于给出结果,仅同义词除外。
但是现在有了mappings
,即使存在该术语,结果也是空的。
这个查询虽然有效: { "query": { "query_string": { "query": "tacos", "fields": [ "tags" ] } } }
我查看并研究了许多文章/教程并提出了这么多。
我现在在这里缺少什么?
elasticsearch - Elasticsearch 映射:如何分析或映射到数字字段?
我想将month
bibtex 条目的字段索引到 elasticsearch 并使其可通过range
查询进行搜索。这要求基础字段类型是某种数字数据类型。在我的情况下short
就足够了。
规范形式的 bibtexmonth
字段需要三个字符的缩写,所以我尝试使用char_filter
类似的:
并建立这样的映射:
但它似乎不起作用,因为该type
字段不支持这样的规范化器,也不支持分析器。
那么实现如char_filter
部分所示的这样一个映射的方法是什么,以便有范围查询可能性?
elasticsearch - 如何向标准标记器添加额外的分隔符?
鉴于此文本(来自 nginx 日志的示例)
646#646:* 226999 SSL_do_handshake() 在 SSL 握手时失败(SSL:错误:1417D18C:SSL 例程:tls_process_client_hello:版本太低),客户端:192.0.2.0,服务器:0.0.0.0:443
分standard
词器产生
我想要令牌1417d18c:ssl
并routines:tls_process_client_hello:version
在:
. 但是,我不希望ssl_do_handshake
or192.0.2.0
被进一步拆分,也不应该can't
被标记为can
, t
。
有没有办法在内置标记器之后应用额外的拆分?
我坚持使用pattern
吗?在这种情况下,哪个正则表达式会复制standard
?
elasticsearch - Elasticsearch 分析器不会替换撇号 (')
使用 Elasticsearch v7.0
这是我实现的分析器(http://phoenyx2:9200/search_dev/_settings?pretty=true
):
我重新创建了整个索引,但分析仍然没有变化。
我也运行过这个:url(phoenyx2:9200/search_dev/_analyze
)
回复是:
我希望返回的令牌是“ testt
”
elasticsearch - Elastic Search 6.4 在创建自定义字符过滤器时抛出错误
所以我很确定我在语法中遗漏了一些东西,但我似乎无法弄清楚到底是什么。我正在尝试创建此处定义的电话号码模式捕获令牌过滤器。它说要定义一个关键字过滤器,然后在顶部应用模式捕获标记。所以这就是我所做的:
这导致以下错误:
如果有人能指出我做错了什么,那就太好了!
elasticsearch - Elasticsearch 检查单词子集是否存在
我正在尝试搜索作为给定单词子集的单词。例如,如果我搜索单词“localhost.testsite.com”,我应该得到包含“testsite.com”的结果。我知道我们可以使用通配符反之亦然,但是很难找到符合我要求的示例。
这是我正在尝试的:
但这与整个词匹配。有人知道如何查询以便检查“testsite.com”之类的子集吗?
elasticsearch - Elasticsearch 更新映射分析器
我尝试使用许多过滤器的设置从 CURL 更新映射。事实上,我想优化我的弹性搜索以获得更好的法语结果
我使用 Elasticsearch 7.0.1 我还在 symfony 4.3 上的 PHP7.4 上使用 Rufli/Elastica
错误:
elasticsearch - 禁用 Elasticsearch 搜索分析器
- 我正在使用 elasticsearch 7.2 版,并且正在
改进应用程序进行的 ES 调用的性能
。 - 根据我的阅读,如果我们没有设置“搜索分析器”,默认情况下将设置标准分析器。
- 但是在不需要分析器的情况下,拥有分析器可能会影响性能。将所有字段都作为“关键字”可以防止这种情况吗?
- 或者有没有其他方法可以禁用这个“搜索分析器”
Ps:对于任何答案,如果您可以将我指向答案所依据的 ES 官方文档,我将非常感激。