/ / Създаване на индекс с анализатор "whitespace" - lucene, индексиране, elasticsearch

Създаване на индекс с анализатор за "бялото пространство" - lucene, indexing, elasticsearch

Опитвам се да инициализирам основен индекс, който ще използва анализатора за празно пространство и искам само да потвърдя, че правя това правилно

curl -XPUT localhost:9200/test -d "{
"settings" : {
"index" : {
"analysis": {
"analyzer": {
"whitespace": {
"type": "whitespace",
"tokenizer": "whitespace"
}
}
}
}
}
}"

Когато правя това, получавам

{"ok":true,"acknowledged":true}

но ако отида http://localhost:9200/_plugin/head/ и на мерки падащо меню изберете Анализатор на теста с текста "това е тест", той връща само един знак, "тест".

Отговори:

2 за отговор № 1

Тестът за директен анализатор ще бъде стандартенанализатор. Вместо това напишете custom_analyzer и тествайте, че на индекса, като се използва анализ api. Анализаторът, който сте написали, не е потребителски или по подразбиране. Можете да настроите анализатор на анализатор по подразбиране също.

Задайте анализатор на празно място като анализатор по подразбиране:

curl -XPUT localhost:9200/test -d "{
"settings" : {
"index" : {
"analysis": {
"analyzer": {
"default": {
"type": "whitespace",
"tokenizer": "whitespace"
}
}
}
}
}
}"

Задайте анализатор на празно място като потребителски анализатор:

curl -XPUT localhost:9200/test -d "{
"settings" : {
"index" : {
"analysis": {
"analyzer": {
"myAnalyzer": {
"type": "custom",
"tokenizer": "whitespace"
}
}
}
}
}
}"

Как да ги тестваме ??

Тестване на анализатора по подразбиране на конкретен индекс:

curl -XGET "localhost:9200/test/_analyze?text=this+is+a+test"

Тестване на персонализиран анализатор с определен индекс:

curl -XGET "localhost:9200/test/_analyze?analyzer=myAnalyzer" -d "this is a test"