c# - Elasticsearch索引文档,但下一个查询返回0个匹配

标签 c# elasticsearch nest

遵循要求后

POST http://192.168.36.235:9200/object_folder666_integration_debug/_doc?pretty=true&error_trace=true HTTP/1.1
Accept: application/json
Content-Type: application/json
10.0.18362; .NET Framework 4.8.4010.0; Nest)
Host: 192.168.36.235:9200
Content-Length: 1325

{/* -object content- */}
我收到了201条回复,看来文档已被索引。
HTTP/1.1 201 Created
Location: /object_folder666_integration_debug/_doc/d99jLXUBNoTXVKywvedm
content-type: application/json; charset=UTF-8
content-length: 267

{
  "_index" : "object_folder666_integration_debug",
  "_type" : "_doc",
  "_id" : "d99jLXUBNoTXVKywvedm",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}
但是,当我执行第二次查询(搜索)时,我的命中率为0,不知道出了什么问题。
请求:
http://192.168.36.235:9200/object_folder666_integration_debug/_search?size=10000
响应:
{"took":3,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":0,"relation":"eq"},"max_score":null,"hits":[]}}
请求:
http://192.168.36.235:9200/object_folder666_integration_debug/_settings
响应:
{"object_folder666_integration_debug":{"settings":{"index":{"search":{"slowlog":{"threshold":{"fetch":{"warn":"1s"}}}},"refresh_interval":"-1","number_of_shards":"1","provided_name":"object_folder666_integration_debug","merge":{"policy":{"max_merge_at_once":"10"}},"max_result_window":"2147483647","creation_date":"1602790714822","analysis":{"filter":{"word_delimeter":{"split_on_numerics":"false","generate_word_parts":"false","type":"word_delimiter","preserve_original":"true","generate_number_parts":"false"},"eng_stemmer":{"type":"snowball"}},"analyzer":{"whitespace_word_delimeter":{"filter":["lowercase","word_delimeter"],"type":"custom","tokenizer":"whitespace"},"default":{"filter":["lowercase","eng_stemmer"],"type":"custom","tokenizer":"standard"},"whitespace":{"filter":["lowercase"],"type":"custom","tokenizer":"whitespace"},"not_analyzed_lowercase":{"filter":["lowercase"],"type":"custom","tokenizer":"keyword"}}},"number_of_replicas":"0","uuid":"BoIlI0VYSLSi7-8ioaEGtg","version":{"created":"7090299"}}}}}

最佳答案

问题在于索引的刷新间隔设置为-1,这意味着除非您手动执行,否则永远不会进行自动刷新。
因此,您有两种选择:
答:保持这种方式,但是在每次建立索引之后,都需要运行此命令以刷新索引

GET http://192.168.36.235:9200/_refresh
B.您决定更改此设置,并通过仅运行一次索引来更定期地刷新索引(默认值为每秒)
PUT GET http://192.168.36.235:9200/object_folder666_integration_debug/_settings
{
  "index.refresh_interval": "1s"
}

关于c# - Elasticsearch索引文档,但下一个查询返回0个匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64377410/

相关文章:

c# - double.Parse 抛出 System.FormatException

java - 使用插件启动 ElasticSearch 的测试容器

c# - 测试传递给 NEST (elasticsearch) 的参数

elasticsearch - 内部点击无法正常工作ElasticSearch

c# - Elasticsearch 日期直方图存储桶计数过滤

c# - 使用 NEST 和 ElasticSearch 的 DeleteByQuery

c# - 构造函数中的 Xamarin 表单显示警报未显示?

c# - 将数据 GridView 背景设置为透明

c# - SqlDateTime 溢出。必须在 1/1/1753 12 :00:00 AM and 12/31/9999 11:59:59 PM 之间

java - 无法连接到我的 Elasticsearch 实例 : NoNodeAvailableException