SOLR подскажите с контекстной фильтрацией, как изменить алгоритм?

В настоящее время я работаю над функцией автозаполнения / предложения. Из-за правильного функционирования приложения я вынужден использовать функцию фильтрации контекста, и все работает нормально.

Однако у меня проблема с алгоритмом и полученными результатами. Возможно ли, чтобы предлагаемые результаты отображались из введенного нами слова в соответствии с порядком введенных букв?

solrconfig.xml:

<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy">
        <lst name="defaults">
          <str name="suggest">true</str>
          <str name="suggest.count">10</str>
          <str name="suggest.dictionary">mySuggester</str>
          <str name="suggest.cfq"></str>
        </lst>
        <arr name="components">
          <str>suggest</str>
        </arr>
  </requestHandler>

  <searchComponent name="suggest" class="solr.SuggestComponent">
      <lst name="suggester">
            <str name="name">mySuggester</str>
            <str name="lookupImpl">BlendedInfixLookupFactory</str>
            <str name="dictionaryImpl">DocumentDictionaryFactory</str>
            <str name="field">title_suggest</str>
            <str name="buildOnStartup">false</str>
            <str name="contextField">suggestionsfilter</str>
            <str name="suggestAnalyzerFieldType">text_general</str>            
      </lst>
  </searchComponent>

Я знаю, что только AnalyzingInfixLookupFactory и BlendedInfixLookupFactory в настоящее время поддерживают подсказку solr с помощью фильтрации контекста, но, возможно, кто-то из вас изменил конфигурацию и получил результаты, как я хочу, например:

{
    "responseHeader": {
        "status": 0,
        "QTime": 1
    },
    "suggest": {
        "iiifSuggester": {
            "te": {
                "numFound": 1,
                "suggestions": [
                    {
                        "term": "test",
                        "weight": 0,
                        "payload": ""
                    }]}}}
}

Но на самом деле я получил что-то вроде этого:

{
    "responseHeader": {
        "status": 0,
        "QTime": 1
    },
    "suggest": {
        "iiifSuggester": {
            "te": {
                "numFound": 1,
                "suggestions": [
                    {
                        "term": "Suggest test result",
                        "weight": 0,
                        "payload": ""
                    }]}}}
}

Большое спасибо за ваш ответ

Добрые Regerds, Войцех

0 ответов

Другие вопросы по тегам