Język niderlandzki i niemiecki mają słowa, które można łączyć z nowymi słowami; wyrazów złożonych.Solr tokenizer wyrazów złożonych - wyniki traktowane jako twierdzenie LUB
Na przykład "accountmanager" jest uważane za jedno słowo, połączone słowami "account" i "manager". Nasi użytkownicy używają "accountmanager" i "account manager" w dokumentach i kwerendach i oczekują tych samych wyników dla obu zapytań.
Aby móc decompound (Split) słowa solr ma słownika filtr, który mam skonfigurowany w schemacie:
<filter class="solr.DictionaryCompoundWordTokenFilterFactory" dictionary="../../compound-word-dictionary.txt" minWordSize="8" minSubwordSize="4" maxSubwordSize="15" onlyLongestMatch="true"/>
Plik związek-word-dictionary.txt przechowuje listę słów które są używane do rozłożenia złożonych słów. Na tej liście znajdziesz na przykład słowa "konto" i "menedżer".
Wynik decompound jest ok, gdy analizowane w debugger Solr podczas wyszukiwania z zapytania "AccountManager": (tekst termin):
- AccountManager
- konta
- menedżera
Ten wynik jest jednak traktowany jako wyrażenie LUB i znajduje wszystkie dokumenty, które zawierają co najmniej jedno z zawartych w nim warunków. Chcę, aby zachowywał się jak instrukcja ORAZ (więc chcę tylko wyniki, które mają w dokumencie zarówno terminy "konto" i "menedżer").
Próbowałem ustawić domyślneOperator w schemacie na "AND", ale jest to ignorowane podczas korzystania z edismax. Dlatego ustawiłem proponowany model Min-should-Match na 100% (mm = 100%), ponownie bez żadnego pożądanego rezultatu. Poprawienie atrybutów filtru słownikowego w schemacie nie zmienia zachowania na "AND".
Czy ktoś natknął się na takie zachowanie, gdy używa fabryki słowników złożonych ze słownika i zna rozwiązanie pozwalające mu zachowywać się jak instrukcja ORAZ?
Dziękuję za wyjaśnienie. Wyczyść odpowiedź na zachowanie DictionaryCompoundWordTokenFilterFactory. Źle zinterpretowałem jego użycie i widzę, że nie spełni on moich potrzeb w tym przypadku. Wskazówka, którą zasugerowałeś, jest w rzeczywistości moim następnym krokiem (użycie solr.SynonymFilterFactory). Miałem nadzieję uprościć filtr synonimów w połączeniu z fabryką filtrów złożonych. –