>source

솔어 뉴비입니다.

나는 Solr 색인을 만들고 여기에 문서 전체를 썼습니다. 나는 볼 수있다 Solr 관리 페이지에서 문서가 존재하고 스키마도 괜찮습니다. 그러나 테스트 키워드를 사용하여 검색을 수행하면 결과가 반환되지 않습니다.

  1. * 입력시 : *

    쿼리 (Solr 관리 페이지에서)로 모든 결과를 얻습니다.

  2. 그러나 다른 검색어 (예 : 용어 또는 구문)를 입력하면 결과가 표시되지 않습니다. 쿼리중인 필드가 인덱싱되고 검색중인 값이 포함되어 있는지 확인했습니다.

그래서 내가 뭘 잘못하고 있는지 혼란 스럽습니다.

제목 필드는 색인화, 문자열 및 저장이며 설명 (내 기본 검색 필드 임)과 동일합니다.

Mikos2021-04-17 08:43:05

BTW, 설치 응용 프로그램을 통해 실행되는 Lucid Imagination Solr /Tomcat을 사용하고 있습니다.

Mikos2021-04-17 08:43:05

텍스트 필드 유형으로 전환합니다. 업데이트 된 답변을 참조하십시오.

Mauricio Scheffer2021-04-17 08:43:05

아하! 정말 고마워! 한번해볼 게 ...

Mikos2021-04-17 08:43:05
  • 답변 # 1

    아마 < defaultSearchField > 가 올바르게 설정되었습니다. 보다 이 질문.

    다른 가능성 : 필드가 text 대신 string 유형입니다. 텍스트 필드와 달리 문자열 필드는 분석되지 않고 그대로 저장되고 인덱싱됩니다.

    감사합니다 Mauricio-기본 필드 설정이 있습니다. 또한 필드 별 쿼리를 시도했습니다. 제목 : 패턴. 그러나 0 개의 결과는 당혹 스럽습니다.

    Mikos2021-04-17 08:43:05

    그거였다! 입력 한 텍스트 필드로 변환하는 것이 트릭이었습니다. 바보 같은 날, 당신은 매일 새로운 것을 배웁니다. 감사합니다 Mauricio.

    Mikos2021-04-17 08:43:05

    동일한 문제가 발생하여 문자열 대신 텍스트 필드 유형이 수정되었습니다. 감사!

    seanhodges2021-04-17 08:43:05

    다른 가능성이 있습니까? 둘 다했지만 여전히 결과를 얻지 못했습니다!

    JavaTechnical2021-04-17 08:43:05
  • 답변 # 2

    제 경우 문제는 쿼리 형식이었습니다. 기본적으로 내 설정은 필드의 전체 값과 정확히 일치하는 것으로 보입니다. 따라서 sit 를 검색하는 경우 결과를 얻으려면 * sit * 를 쿼리해야했습니다. 즉, 예상 결과를 얻기 위해 와일드 카드를 사용했습니다.

  • 답변 # 3

    Solr 8 의 새로운 설정에서 동일한 문제가 발생했습니다. 허용 된 답변은 더 이상 유효하지 않습니다. < defaultSearchField > 구성은 더 이상 사용되지 않는다.

    인덱싱 되었음에도 불구하고 Solr이 어떤 필드에서도 결과를 반환하지 않는 이유에 대한 답을 찾지 못했기 때문에 쿼리 문서를 참조했습니다. 내가 찾은 것은 DisMax 쿼리 파서입니다.

    DisMax 쿼리 파서는 사용자가 입력 한 간단한 구문 (복잡한 구문 없음)을 처리하고 각 필드의 중요성에 따라 다른 가중치 (부스트)를 사용하여 여러 필드에서 개별 용어를 검색하도록 설계되었습니다. 추가 옵션을 사용하면 사용자 입력에 관계없이 각 사용 사례에 특정한 규칙에 따라 점수에 영향을 줄 수 있습니다.

    반대로 기본 Lucene 파서는 하나의 필드 검색에 대해서만 말합니다. 그래서 저는 DisMax를 사용해 보았고 매우 잘 작동했습니다!

    쿼리 예 :

    http://localhost:8983/solr/techproducts/select?defType=dismax&amp;
    q=video
    

    원치 않는 부작용을 방지하기 위해 정확히 검색 할 필드를 지정할 수도 있습니다. 여러 필드는 URL에서 + 로 변환되는 공백으로 구분됩니다.

    http://localhost:8983/solr/techproducts/select?defType=dismax&amp;
    q=video&amp;
    qf=features+text
    

    마지막으로 필드에 가중치를 부여합니다.

    http://localhost:8983/solr/techproducts/select?defType=dismax&amp;
    q=video&amp;
    qf=features^20.0+text^0.3
    


    사용중인 경우 pysolr저처럼 다음과 같이 검색 요청에 해당 매개 변수를 추가 할 수 있습니다.

    results= solr.search('search term', **{
        'defType': 'dismax',
        'qf': 'features text'
    })
    

  • 답변 # 4

    solr 6에서는 text_general을 사용하세요.

  • 답변 # 5

    solr 4에서는 필드에 type= "text_en"을 정의하여 Mauricio의 답변에 따라이 문제를 해결해야했습니다.

  • 이전 mysql : 여러 테이블에서 ID 가져 오기
  • 다음 javascript : 드롭 다운에서 onchange () 함수를 호출하지 않음