Wyszukiwarka traktuje słowa oddzielone `_` jako osobne

Odpowiedz Nowy wątek
2019-08-20 18:52
3

Szukajka na forum traktuje np funkcję str_replace jak wyszukanie str replace - wyszukuje i funkcje substr (bo str się łapie) oraz preg_replace (bo replace się łapie).

Podobnie jak ktoś wyszuka preg_replace to znajdzie i preg_match i str_replace.

Moim zdaniem na forum programistycznym wyszukiwanie funkcji też powinno być dozwolone, tak że jak ktoś szuka str_replace to znajdzie tylko str_replace.


edytowany 2x, ostatnio: TomRiddle, 2019-08-21 11:21

Pozostało 580 znaków

2019-08-21 08:52
1

Kurcze, masz racje :|

curl -X POST "localhost:9200/coyote/_analyze?pretty" -H 'Content-Type: application/json' -d'                                                                                                                                           
> {                                                                                                                                                                                                                                                                            
>   "analyzer": "default_analyzer",
>   "text": "str_replace() substr."
> }
> '
{
  "tokens" : [
    {
      "token" : "str",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "word",
      "position" : 0
    },
    {
      "token" : "replace",
      "start_offset" : 4,
      "end_offset" : 11,
      "type" : "word",
      "position" : 1
    },
    {
      "token" : "substr",
      "start_offset" : 14,
      "end_offset" : 20,
      "type" : "word",
      "position" : 2
    }
  ]
}

To jest faktycznie do poprawienia. Trzeba zmienić chyba typ tokenizera na standard zamiast whitespace (chociaż mogę się mylić). Podawajcie inne przykłady błędnego działania, to od razu się unit testy napisze.

Pozostało 580 znaków

2019-08-21 09:17
0
TomRiddle napisał(a):

Moim zdaniem na forum programistycznym wyszukiwanie funkcji też powinno być dozwolone, tak że jak ktoś szuka str_replace to znajdzie tylko str_replace.

Moim zdaniem nie powinno tak być.
Wyszukanie "str_replace" powinno znaleźć na pierwszym miejscu (najlepiej punktowane) wyniki z "str_replace", ale na dalszych pozycjach wyszukiwarka powinna znajdować strony powiązane. Czyli "replace", "str_repeat" i "str".


Szacuje się, że w Polsce brakuje 50 tys. programistów

Pozostało 580 znaków

2019-08-21 09:47
0
vpiotr napisał(a):
TomRiddle napisał(a):

Moim zdaniem na forum programistycznym wyszukiwanie funkcji też powinno być dozwolone, tak że jak ktoś szuka str_replace to znajdzie tylko str_replace.

Moim zdaniem nie powinno tak być.
Wyszukanie "str_replace" powinno znaleźć na pierwszym miejscu (najlepiej punktowane) wyniki z "str_replace", ale na dalszych pozycjach wyszukiwarka powinna znajdować strony powiązane. Czyli "replace", "str_repeat" i "str".

Tylko że w innych językach funkcje np wyglądają isset, strpos, substr - i one już nie będą rozdzielone na "is", "set" ani "str", "pos".

To byłoby bardzo niekonsekwentne


Pozostało 580 znaków

2019-08-21 11:08
6
Adam Boduch napisał(a):

Podawajcie inne przykłady błędnego działania

Mi zawsze brakowało wyszukiwania "pełnych wielowyrazowych fraz".


edytowany 1x, ostatnio: Marooned, 2019-08-21 11:08
Oraz -wykluczeń, w tym -"także wielowyrazowych" - furious programming 2019-08-21 14:21

Pozostało 580 znaków

2019-08-21 11:22
0

Co do PHP jeszcze, napisanie zmiennej, np $match również jest szukane jako match. Ale nie mam zdania czy to do poprawy czy nie.


Pozostało 580 znaków

2019-08-21 11:23
1

I taki sam problem występuje jak coś chciałby w dziale C/C++ wyszukać std::replace, to znajdzie mu std oraz replace.


Pozostało 580 znaków

2019-08-21 11:24
1

test <=>

PS: operatora <=> również szukajka nie znajduje


edytowany 1x, ostatnio: TomRiddle, 2019-08-21 11:25

Pozostało 580 znaków

2019-08-21 11:25
1

test ?:

PS: Ani ?:


edytowany 1x, ostatnio: TomRiddle, 2019-08-21 11:25

Pozostało 580 znaków

2019-08-21 11:30
0

Ten elasticsearch i tak działa średnio, więc szybciej wyszukasz po googlach, szkoda życia na to ;)


Pozostało 580 znaków

2019-08-21 11:38
0

Elastic domyślnie usuwa symbole podczas indeksowania, ale można to zmienić. Np. w konfiguracji ustawione jest aby nie usuwał znaku # aby można było znaleźć poprawnie frazę C#.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0