elasticsearch相关内容
假设我有一千个键,我想存储相关的值.直观的方法似乎类似于 {“key1":“一些","key2":"someotherval",...} 对于具有数千个键的弹性搜索索引来说,这是一种糟糕的设计模式吗?以这种方式引入的每个键是否会为索引下的每个文档产生开销? 解决方案 如果您知道您将拥有的键数量有上限,那么几千个字段不是问题. 问题是当你有一组无限的键时,例如当键从一个值派生时,您
..
在对每个关键字应用 boost 功能后,给定搜索关键字 一二三 的 ES 搜索结果似乎是错误的.请帮我修改我的“错误"查询,以便按照我的描述完成下面的“预期结果".我在 ES 1.7.4 和 LUCENE 4.10.4 提升标准 -三个 被认为是最重要的关键字: word - 提升---- -----一个 1两个 2三 3 ES 索引内容 - 只显示 MySQL 转储以缩短帖子 mys
..
我正在尝试使用 function_score 中定义的不同函数修改来自正常查询的分数. 为了找出我的函数计算出的分数,我将“boost_mode"指定为“replace".但是,这会使所有分数保持不变:都等于 1. 考虑以下查询: {“询问": {“功能分数":{“询问": {“条款":{“名称":[“男人",“女人"]}},“score_mode":“平均",“职能": [{“筛选
..
有没有办法通过 elasticsearch API 找出 查询字符串查询 真的被解析了吗?您可以通过查看 lucene 查询语法来手动执行此操作,但它会是如果您可以查看解析器实际结果的一些表示,那就太好了. 解决方案 正如 javanna 在评论中提到的那样,有 _validate api.以下是我的本地弹性(1.6 版)的工作原理: curl -XGET 'http://localho
..
我希望突出显示匹配的结果.如果我提到字段名称并返回突出显示的文本,这对我有用,但是如果我将字段指定为“_all",它不会返回任何值.这对我有用: curl -XGET "http://localhost:9200/my_index/my_type/_search?q=stackoverflow&size=999" -d '{“强调":{“领域":{“我的字段":{}}}}' 这将返回预期值,
..
我有三个食物类型指数“意大利"、“西班牙"、“美国".当用户搜索“Cheese"时,来自“Italian"的文档似乎出现在顶部.如果我倾向于说“西班牙语",是否有可能“提升"结果?(我仍然应该得到意大利语的结果,但是基于索引类型“西班牙语"的一些数字提升值,结果中返回的文档的排序优先于“西班牙语"索引.这在用户输入 lucene 和/还是 ES 查询?如果是,怎么做? 解决方案 为 _ty
..
我正在为 ElasticSearch 配置 JDBC River,但我找不到任何好的配置示例.我已阅读 pages 上的所有 elasticsearch-river-jdbc GitHub. 我有一个 SQL 查询,我需要每隔 X 秒从所有表列中获取更改.如何告诉 JDBC River 某行已更改并应重新编制索引? 在 ES 服务器启动期间获取数据,正在进行轮询,但不会将更改从 DB
..
我有一个类似以下设置和映射的索引; {“设置":{“指数":{“分析":{“分析仪":{“分析器关键字":{“分词器":“关键字",“过滤器":“小写"}}}}},“映射":{“产品":{“特性":{“名称":{“分析器":“分析器关键字",“类型":“字符串",“索引":“未分析"}}}}} 我正在努力实现对 name 字段的通配符搜索.我的示例数据是这样的; [{“名称":“SVF-12
..
如何创建一个映射来标记空格上的字符串并将其更改为小写以进行索引? 这是我当前的映射,它通过空格进行标记,我无法理解如何将其小写并搜索(查询)相同... {“映射":{“我的风格" : {“特性" : {“标题":{“类型":“字符串",“分析器":“空白",“标记器":“空白",“搜索分析器":“空白"}}}}} 请帮忙... 解决方案 我设法编写了一个自定义分析器,并且这个工作
..
具体来说,我想为没有停用词列表的所有内容(例如谁)编制索引.弹性搜索是否足够灵活且易于更改? 解决方案 默认情况下,elasticsearch 使用的分析器是一个 标准分析器,带有默认的 Lucene 英语停用词.通过将以下内容添加到 elasticsearch.yml 文件,我已将 elasticsearch 配置为使用相同的分析器但没有停用词. # 索引设置指数:分析:分析仪:# 将
..
我将书名存储在 elasticsearch 中,它们都属于许多商店.像这样: {“书":[{“身份证":1,"title": "标题 1",“商店":“商店 1"},{“身份证":2,"title": "标题 1",“商店":“商店 2"},{“身份证":3,"title": "标题 1",“商店":“商店3"},{“身份证":4,"title": "标题 2",“商店":“商店 2"},{“身
..
我希望能够将多词搜索与多个字段进行匹配,其中搜索的每个词都包含在 any 字段的任意组合中.问题是我想避免使用 query_string. curl -X POST "http://localhost:9200/index/document/1" -d '{"id":1,"firstname":"john","middlename":"clark"“姓氏":“史密斯"}'curl -X POST
..
我假设 Elasticsearch 中的每个分片都是一个索引.但我在某处读到每个段都是一个 Lucene 索引. 究竟什么是细分?它如何影响搜索性能?使用默认 Elasticsearch 设置,我每天的索引大小达到 450GB 左右(我每天创建一个新的). 当我执行 curl -XPOST "http://localhost:9200/logstash-2013.03.0$i_opti
..
这是我之前问题的延续 大量删除的文档计数是否会影响 ES 查询性能与我的 ES 索引中已删除的文档相关. 正如答案中所指出的,我使用 优化 APIES 1.X 版本,其中 强制合并 API 不可用,但在阅读了弹性创始人 Say Bannon 的优化 API github 链接(之前在 ES 网站上找不到它)后,看起来它做了同样的工作. 在运行优化 API 后,我收到了索引的成功消息,但
..
我在理解 ElasticSearch 中的正则表达式机制时遇到了麻烦.我有代表财产单位的文件: {“单元" :{“每日可用性":“UIAOUUUUUUUIAAAAAAAAAAAAAAAAAOUUUUIAAAAOUUUIAOUUUUUUUUUUUUUUUUUUUUUUUUUUIAAAAAAAAAAAAAAAAAAAAAAOUUUUUUUUUUIAAAAAOUUUUUUUUUUUUUIAAAAOUU
..
我正在按照此处给出的建议使用 elasticsearch 查找部分单词: ElasticSearch n-gram tokenfilter 找不到部分单词 我创建了一个简单的 bash 脚本来尝试运行它的一个版本: curl -XDELETE 10.160.86.134:9200/productscurl -XPOST 10.160.86.134:9200/products -d '
..
我正在尝试使用以下命令使用 mongodb-river 在 elasticsearch 中索引 mongodb,但文档映射未生效.它仍在为字段 text 使用默认分析器(标准) Mongodb-river该文档指定了索引的创建,但没有关于如何提供自定义映射的文档.这是我尝试过的.是否有任何其他文档可以找到如何在使用 mongodb-river 时指定自定义分析器等. curl -XPUT "
..
是否可以将 elasticsearch 的同义词存储在索引中?或者是否可以从像 couchdb 这样的数据库中获取同义词列表?我想通过 REST-API 将同义词动态添加到 elasticsearch. 解决方案 使用同义词有两种方法: 在索引时扩展它们, 在查询时扩展它们. 不建议在查询时扩展同义词,因为它会引发以下问题: 评分,因为同义词具有不同的文档频率, 多标
..
我想在 Elastisearch 中使用 单词边界 进行正则表达式查询,但是它看起来像 Lucene 正则表达式引擎 不支持 \b.我可以使用哪些解决方法? 解决方案 在 ElasticSearch regex 风格中,没有直接等价于单词边界.初始 \b 类似于 (^|[^A-Za-z0-9_]) 如果 word 以单词 char 开头,如果 word 以单词 char 结尾,则尾随 \b
..
对于以下情况,我在 Google 或 ES 中都找不到完美的解决方案,希望有人可以在这里提供帮助. 假设“email"字段下存储了五个电子邮件地址: 1.{“电子邮件":“john.doe@gmail.com"}2. {“电子邮件":“john.doe@gmail.com, john.doe@outlook.com"}3. {“电子邮件":“hello-john.doe@outlook.c
..