Mam bazę adresów URL, które chciałbym przeszukać. Ponieważ adresy URL nie zawsze są napisane tak samo (mogą, ale nie muszą zawierać strony www), szukam poprawnego adresu URL indeksu i zapytania. Próbowałem kilka rzeczy i myślę, że jestem blisko, ale nie wiem, dlaczego to nie działa:Indeksowanie i kwerendowanie adresów URL w Solr
Oto mój typ pole niestandardowe:
<fieldType name="customUrlType" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Na przykład:
http://www.twitter.com/AndersonCooper gdy indeksowane, będą miały następujące słowa w różnych pozycjach: http, www, twitter, com, Anderson Cooper
Gdybym szukać po prostu twitter.com/andersoncooper chciałbym tę kwerendę, aby dopasować rekord, który był indeksowany , dlatego Używam również WDF do podzielenia zapytania, , jednak zapytanie wygląda tak:
myfield :("twitter com andersoncooper"), gdy naprawdę chce, aby pasowało do wszystkich rekordów, które mają wszystkie następujące elementy: słowa: twitter com andersoncooper
Czy powinienem użyć innego filtru zapytań lub tokenizera?
Czy zdarzyło Ci się to rozwiązać? – Cyrus
Czy wymyśliłeś, co trzeba tutaj zrobić? –