Чтобы объяснить мой сценарий, я создал скрипт на python, который я хочу воспроизвести в поиске solr. В скрипте я создал все перестановки полей и сформировал нечеткий поиск всего описания с перестановками
import json
from itertools import permutations
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
def search(description):
with open('test.json') as jsonString:
testDataList = json.load(jsonString)
fuzzyOutputs = []
for item in testDataList:
maxratio = 0
dataPermutations = list(permutations([item["field1"], item["field2"], item["field3"], item["field4"]]))
for combination in dataPermutations:
ratio = fuzz.partial_ratio(description, combination)
if ratio > maxratio:
maxratio = ratio
if maxratio > 80:
fuzzyOutputs.append({
"data": item,
"fuzzyRatio": maxratio
})
print(fuzzyOutputs)
return json.dumps({
"fuzzyOutputs": fuzzyOutputs
})
print(search("QUICK FOX JUMP OVER"))
Как мне воспроизвести это в solr, есть ли предопределенный способ или я должен создать собственный фильтр для этого?