Я пытаюсь реализовать функцию автоматического предложения, используя Solr 6.6 и Spring Boot в поле product_name. Я даю следующие записи в ядре.
{"id":"xsku2023","type":"0","name":"Retro Lamp","product_id":"xprod2023","product_name":"Bajaj Lamp","product_type":"null","product_description":"Cheap and Best Lamp","listPrices":"65","plist3080002":"39.99","inventory_status":"In Stock","category_id":"catTableLamps","category_name":"TableLamps","category_href":"null","category_parent":"null","brand":"Bajaj"},
{"id":"xsku2024","type":"0","name":"Retro Lamp","product_id":"xprod2024","product_name":"Bajaj Table Lamp","product_type":"null","product_description":"Cheap and Best Table Lamp","listPrices":"65","plist3080002":"39.99","inventory_status":"In Stock","category_id":"catTableLamps","category_name":"TableLamps","category_href":"null","category_parent":"null","brand":"Bajaj"}
Я определил конечную точку /suggest, как указано здесь, и работающий
Я могу использовать базовую функцию подсказок.
http://localhost:8983/solr/ProductATG/suggest?suggest=true&suggest.build=true&suggest.dictionary=productSuggester&wt=json&suggest.q=Baj
Получение приведенного ниже ответа при переходе по вышеуказанному URL-адресу, что совершенно нормально, и я получаю название продукта, начинающееся с префикса, указанного в запросе.
{"responseHeader":{"status":0,"QTime":8},"command":"build","suggest":{"productSuggester":{"Baj":{"numFound":2,"suggestions":[{"term":"Bajaj Lamp","weight":0,"payload":""},{"term":"Bajaj Table Lamp","weight":0,"payload":""}]}}}}
Теперь я хочу перейти на следующий уровень и хочу добиться результата, независимо от порядка. Например
Название продукта доступно в индексе Solr - "Лампа Bajaj", "Настольная лампа Bajaj"
Если я ищу Лампа > , оба названия продукта "Bajaj Lamp", "Bajaj Table Lamp" должны появиться в ответе в настоящее время, если я ищу Лампа, результатов нет, приближается.