相关疑难解决方法(0)

如何在elasticsearch中设置tokenizer

我有一个使用elasticsearch-jetty项目的嵌入式弹性搜索,我需要设置比使用默认值更好地使用标记器.我想使用关键字tokenizer.

我无法弄清楚我的生活如何通过配置文件来做到这一点.任何人都可以通过配置文件指出我的方法吗?

顺便说一句,通过对索引执行POST,是否可以在索引启动和运行时调整索引?我真的很想了解如何使用它,谢谢.

编辑/更新:我无法运行curl -XPUT或-XPOST到localhost:9200尝试调整我在搜索帮助时看到的一些示例/论坛的设置,我得到的结果是'否uri []和方法[PUT]/[POST]的处理程序.

编辑2:更新,XPUT到索引工作,但我得到一个关于"索引已经存在"的错误.我知道它存在,我想更新它.

rest config elasticsearch

14
推荐指数
1
解决办法
2万
查看次数

elasticsearch案例不敏感术语过滤器搜索not_analyzed字段

这里有类似的问题Elasticsearch Map对not_analyzed文件不敏感,但是我的处理方式略有不同,因为我处理的是特殊字符.

大多数人建议keyword analyzer结合使用lowercase filter.但是,这对我的情况不起作用,因为关键字分析器在空格上标记,特殊字符如^, #, etc.这打破了我想要的支持类型.

  1. ^HELLOWORLD应该匹配搜索^helloworld,但不是helloworld
  2. #FooBar应该匹配#foobar但不匹配foobar.
  3. Foo Bar应该匹配foo bar,但不是foobar.

与我们在此处看到的类似功能https://www.elastic.co/guide/en/elasticsearch/guide/current/_finding_exact_values.html#_term_filter_with_numbers,但不区分大小写.

有谁知道如何做到这一点?

编辑1:

似乎我的问题的核心是多字段,因为关键字+小写似乎解决了标题中提出的问题.但是,为多字段值属性提出此问题会更准确.

test_mapping.json:

{
  "properties" : {
    "productID1" : {
      "type" : "string",
      "index_analyzer" :  "keyword_lowercase",
      "search_analyzer" : "keyword_lowercase"
    },
    "productID2" : {
      "type": "multi_field",
      "keyword_edge_ID": {
        "type": "string", 
        "index_analyzer":"keyword_lowercase_edge", 
        "search_analyzer":"keyword_lowercase_edge"
      },
      "productID2": {
        "type": "string", 
        "index": "analyzed", 
        "store": …
Run Code Online (Sandbox Code Playgroud)

case-insensitive elasticsearch

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

elasticsearch ×2

case-insensitive ×1

config ×1

rest ×1