Git Product home page Git Product logo

если на поле, suggestion повесить icu_transform анализатор, то, индексация для кийбоарда не отработает about elasticsearch-keyboard-layout HOT 6 CLOSED

papahigh avatar papahigh commented on June 15, 2024
если на поле, suggestion повесить icu_transform анализатор, то, индексация для кийбоарда не отработает

from elasticsearch-keyboard-layout.

Comments (6)

papahigh avatar papahigh commented on June 15, 2024

привет, пожалуйста, приложи шаги для воспроизведения

from elasticsearch-keyboard-layout.

AlinaLoz avatar AlinaLoz commented on June 15, 2024

привет,
example-icu-transform.zip

from elasticsearch-keyboard-layout.

papahigh avatar papahigh commented on June 15, 2024

это не ошибка плагина - так работает эластиксерч
возможным решением для тебя может быть multi field поле title с разным анализом: title.standard и title.latin
при поисковом запросе в теле suggest указывай оба саджеста на соответствующие поля
в ответе придется смотреть в оба саджеста и выбирать что стоит показать пользователю

from elasticsearch-keyboard-layout.

papahigh avatar papahigh commented on June 15, 2024

снаружи поле title останется тем же самым (при индексации/в результатах поиска)
а два независимых анализа по этому полю должны решить твою проблему саджестов

from elasticsearch-keyboard-layout.

AlinaLoz avatar AlinaLoz commented on June 15, 2024

изивни, но не понимаю, как анализаторы могут быть независыми в этом случае, если.
эластик индексирует все, что есть в базе.
в базе лежит fructis, для него неверная раскладка акгсешы.
latin анализатор, посмторит что в базе лежит fructis, проиндексирует как фруктис.
в моем случае, мне нужно чтобы отработало
ahernbc(слово фруктис на неверное раскладке, оно не проиндексировано keyboard, так как этого не было в базе)
=> фруктис => fructis

from elasticsearch-keyboard-layout.

papahigh avatar papahigh commented on June 15, 2024

смотри в доки про multi fields, term vector, например.

смотри, ниже сниппет маппинга, обрати внимание насвойство mappings.properties.group - видишь у него в fields можно определять сколько угодно много анализа для одного единственного поля в json, (важный момент кстати "term_vector": "yes" в таких виртуальных филдах). при индексации ты кидаешь обыкновенный json где group - это строка, в результатах поиска ты будешь видеть тоже самое. А в поисковых запросах ты можешь ссылаться на qualified имя нужного анализа для твоего поля те group.keyword, group.stemmed и тп

  "mappings": {
    "dynamic": "strict",
    "properties": {
      "keywords": {
        "type": "text",
        "analyzer": "keyword_analyzer"
      },
      "suggest": {
        "type": "completion"
      },
      "group": {
        "type": "text",
        "copy_to": "keywords",
        "analyzer": "standard_analyzer",
        "fields": {
          "keyword": {
            "type": "keyword"
          },
          "stemmed": {
            "type": "text",
            "analyzer": "stemmed_analyzer",
            "term_vector": "yes"
          },
          "ngram_default": {
            "type": "text",
            "analyzer": "ngram_default",
            "search_analyzer": "standard_analyzer",
            "term_vector": "yes"
          }
        }
      }
    }
  }

from elasticsearch-keyboard-layout.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.