Опитвам се да инициализирам основен индекс, който ще използва анализатора за празно пространство и искам само да потвърдя, че правя това правилно
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"