Điều tôi muốn làm là thực hiện truy vấn và nhận lại kết quả không phân biệt chữ hoa chữ thường và khớp với các từ một phần từ chỉ mục.Sử dụng nhiều mã thông báo trong Solr
Tôi có một lược đồ Solr được thiết lập tại thời điểm đã được sửa đổi để tôi có thể truy vấn và trả lại kết quả cho dù chúng là gì. Vì vậy, nếu tôi tìm kiếm iPOd, Iwill sẽ thấy iPod trở lại. Mã để làm điều này là:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
...
</fieldType>
Tôi đã tìm thấy mã này sẽ cho phép chúng tôi thực hiện truy vấn đối sánh từ một phần, nhưng tôi không nghĩ mình có thể có hai mã thông báo trên một trường.
<fieldType name="text" class="solr.TextField" >
<analyzer type="index">
<tokenizer class="solr.NGramTokenizerFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
...
</fieldType>
Vì vậy, tôi có thể làm gì để thực hiện mã thông báo này trên trường?
Hoặc có cách nào hợp nhất chúng không?
Hoặc có cách nào khác để tôi có thể thực hiện tác vụ này không?
Nhưng làm thế nào bây giờ truy vấn để kết quả sẽ xem xét dữ liệu được tokenized với cả hai tokenizers? Nói cách khác - làm thế nào để có được kết quả từ cả hai tokenizers cùng một lúc? –